#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.