Как программно установить элемент управления размером Angular 2 на загрязнение? Как пометить элемент Angular 2 как грязный в моем коде? Когда я делаю это так: control.dirty = true; Я получаю эту ошибку: Cannot set property dirty of #<AbstractControl> which has only a getter Ответ 1 Вы должны использовать метод markAsDirty, например: control.markAsDirty(); Это также будет означать, что все прямые предки являются грязными, чтобы поддерживать модель. Ссылка на документы Ответ 2 Для форм, управляемых шаблонами, мы можем использовать ниже общий код public onSubmitForm(cardFormObject: NgForm) { if (!cardFormObject.valid) this.markAsDerty(cardFormObject); } private markAsDerty(cardFormObject: NgForm) { for (var eachControl in cardFormObject.controls) { (<FormControl>cardFormObject.controls[eachControl]).markAsDirty(); } }
Ответ 1 Вы должны использовать метод markAsDirty, например: control.markAsDirty(); Это также будет означать, что все прямые предки являются грязными, чтобы поддерживать модель. Ссылка на документы
Ответ 2 Для форм, управляемых шаблонами, мы можем использовать ниже общий код public onSubmitForm(cardFormObject: NgForm) { if (!cardFormObject.valid) this.markAsDerty(cardFormObject); } private markAsDerty(cardFormObject: NgForm) { for (var eachControl in cardFormObject.controls) { (<FormControl>cardFormObject.controls[eachControl]).markAsDirty(); } }