我是 Angular 的新手,正在学习 Angular 6。我了解 ngModel。但当我尝试 ngModelChange 时,出现了一些问题。
我有一个 html 元素
超文本标记语言
<input #input type="text" [value]="name" [(ngModel)] ="name" (ngModelChange) ="change(input.value)"/>
打字稿
change(event :any) {
this.name = event;
console.log(this.name);
}
更改 input 中的值后,我可以看到 name 属性的更改。
当我将 html 代码更改为
HTML
<input #input type="text" [value]="name" [ngModel] ="name"
(ngModelChange)="change(input.value)" />
{{ name }}
TS
change(event :any) {
this.name = event;
console.log(this.name);
}
它在控制台和用户界面中按预期工作正常。
问题1
<input #input type="text" [value]="name" [(ngModel)] ="name"
(ngModelChange) ="change(input.value)"/>
&
<input #input type="text" [value]="name" [ngModel] ="name"
(ngModelChange)="change(input.value)" />
是一样的吗??
问题2。
当我删除 [ngModel] 指令时。 ngModelChange 没有被触发。是否必须拥有 [ngModel]?如果是,为什么?
HTML
<input #input type="text" [value]="name"
(ngModelChange)="change(input.value)" />
<br/>
<br/>
{{ name }}
TS
change(event: any) {
this.name = event;
console.log(this.name);
}
这将是一个很大的帮助。
提前致谢。