Как передавать значения из полей HTML в ts компонента

#angular #typescript #binding

#угловатый #машинописный текст #обязательный

Вопрос:

Я отправляю значения с HTML-страницы в компонент TS без использования формы, я получил ошибку сборки при попытке выполнить сборку с помощью npm, вот мой пример:

У меня нет проблем с использованием> npm run dev или> ng build, но когда я создаю его для производства, это приведет к ошибке с использованием

npm запуск сборки

srcappmessagesmessages-newmessages-new.component.html (52,22): : Свойство ‘messageTitle’ не существует для типа ‘MessagesNewComponent’.

HTML:

 <input matInput placeholder="Type a title" name="messageTitle" [(ngModel)]="messageTitle">


<button class="simple-form-button" color="primary" mat-raised-button type="submit"  value="submit" (click)="sendMessage(messageTitle)">
      <mat-icon>send</mat-icon> Send 
    </button>
 

Комментарии:

1. <input matInput placeholder=»Введите заголовок» name=»messageTitle» [(ngModel)]=»messageTitle»>

Ответ №1:

Это означает, что вам нужно объявить переменную в вашем component.ts

 messageTitle : string;
 

Комментарии:

1. Итак, в чем разница между сборкой npm run и сборкой ng

2. разница между чем?

3. Объявление messageTitle в компоненте устранило проблему, но что, если я хочу передать список параметров в компонент, должен ли я сначала определить его, чтобы связать его после?

4. В режиме разработки шаблон компилируется в класс в браузере как раз вовремя. В узле prod mode попробуйте скомпилировать шаблон в класс, и компиляция typescript не может найти необходимое свойство

5. да, вам нужно определить эти переменные независимо от того, что вы используете в HTML.