【问题标题】:md-select doesn't trigger ngModelChange or change eventsmd-select 不会触发 ngModelChange 或更改事件
【发布时间】:2017-10-17 09:10:38
【问题描述】:
我有这个代码:
<md-select [(ngModel)]="model" (change)="updateModel()"
(ngModelChange)="model=$event;updateModel()"> [...] <md-select>
但是当我以编程方式更新模型时,(更改)和(ngModelChange)都没有
被解雇,因为 updateModel() 永远不会被调用。
【问题讨论】:
标签:
angular
angular2-template
angular2-forms
angular-material2
【解决方案1】:
我没有看到您的完整代码,但是如果 md-select 在 FORM 标记内,它将无法工作。
我测试了材料文档中的示例,并且 (change)/(ngModelChange) 在原始代码中不起作用。但是,一旦我将它放入 DIV 中,它们就起作用了。
这是有效的Plunker。
<div>
<md-select placeholder="Favorite food"
[(ngModel)]="selectedValue"
name="food"
(ngModelChange)="model=$event;updateModel2()"
(change)="updateModel1()">
<md-option *ngFor="let food of foods" [value]="food.value">
{{food.viewValue}}
</md-option>
</md-select>
<p> Selected value: {{selectedValue}} </p>
</div>
我创建了两个独立的函数,(change)调用 updateModel1() 和 (ngModelChange) 调用 updateModel2()。