Angular ngModel为条件时读取值时出错
我正在使用ngModel进行双向绑定(在输入框中显示值,如果用户更改,则更新模型的值),并且工作正常Angular ngModel为条件时读取值时出错,angular,Angular,我正在使用ngModel进行双向绑定(在输入框中显示值,如果用户更改,则更新模型的值),并且工作正常 <input id="myInput" name="myInput" type="text" [(ngModel)]="myModel && myModel.myProperty" /> 现在,如果DB和绑定到控件后的结果为空,并且用户在输入框中设置了一些值,那么我试图从模型中
<input
id="myInput"
name="myInput"
type="text"
[(ngModel)]="myModel && myModel.myProperty"
/>
现在,如果DB和绑定到控件后的结果为空,并且用户在输入框中设置了一些值,那么我试图从模型中读取值,模型显示为未定义。您到底想实现什么?在第二种情况下,更改输入值或模型值时,
myModel.myProperty
仍应更新
请参见此处的快速演示:
ngModel的三元组是
- #myInput被设置为ngModel。(Angular自己的控件名称语法)
- ngModel双向绑定语法:[(ngModel)]
- (ngModelChange)它指向一个事件处理程序
如果使用管道,它们总是最后一次启动,并且不会影响另一个更改周期。这里有一篇关于这个问题的文章谢谢你的回答,我现在更新这个问题。这是因为“myModel”对象没有初始化。当我在constrator中初始化一个空对象时,它工作了。谢谢大家的回复。
this.getresponse$ = this.myService.serviceMethodName.subscribe(
(result: ModelType) => { => {
this.myModel= result;
},
error => {
console.log(
'Error while no tring to fetch settings not exists in database.',
);
},
);
<input
type="text"
#myInput = "ngModel"
[(ngModel)]="myBindableProperty"
(ngModelChange)="myBindableProperty = onPropertyChange(myInput)"
/>