Angular 角度4:NgModel不';不行。不将值设置为“0”;日期“;领域
使用Angular 4,我试图为“date”类型的输入设置一个值,但我做不到。我的领域结构如下所示:Angular 角度4:NgModel不';不行。不将值设置为“0”;日期“;领域,angular,date,ngmodel,Angular,Date,Ngmodel,使用Angular 4,我试图为“date”类型的输入设置一个值,但我做不到。我的领域结构如下所示: <input type="date" class="form-control" ([ngModel])="edt_object.list_changedate" (ngModelChange)="edt_object.list_changedate = $event" formControlName
<input
type="date"
class="form-control"
([ngModel])="edt_object.list_changedate"
(ngModelChange)="edt_object.list_changedate = $event"
formControlName="list_changedate"
name="list_changedate"
id="list_changedate"
style="width: 228px!important">
this.edt_object.list_changedate = this.lista_selected.list_changedate
然而,什么也没有发生。当我使用jQuery分配值时(是的,同时使用Angular和jQuery),它确实起作用,但是,当我尝试使用Angular验证该字段时,该字段的状态为“无效”,因为Angular没有值。我该怎么办?作为问题的一种变体,它可能是不正确的日期格式。 尝试调试“this.lista\u selected.list\u changedate”值。它应该类似于“2016-10-13”格式。更改
([ngModel])="edt_object.list_changedate"
(ngModelChange)="edt_object.list_changedate = $event"
到
并实现onChange()
as
onChange(event) {
// emit event
}
[(ngModel)]
是双向绑定
(ngModelChange)是ngModel的@Output。如果你想使用
(ngModelChange)
你必须使用[ngModel]你做了三次同样的事情:一次使用[(ngModel)],一次使用(ngModelChange),一次使用formControlName(这表明你使用的是被动表单,因此不应该更改ngModel)。发布一个最小的完整示例,再现问题。但首先要确定您想要的是基于模板的表单还是反应式表单。您实现了数据绑定,然后甚至没有使用它,而是使用JQuery?您是否尝试过删除ngModel([ngModel])=“edt\u object.list\u changedate”
?非常感谢大家的回复。海防站给出了正确的答案。@Ricky很高兴这有帮助!
onChange(event) {
// emit event
}