我有这段代码:
<md-select [(ngModel)]="model" (change)="updateModel()"
(ngModelChange)="model=$event;updateModel()"> [...] <md-select>
但是当我以编程方式更新模型时,既没有(更改)也没有(ngModelChange) 被触发'因为永远不会调用updateModel()。
答案 0 :(得分:1)
我没有看到您的完整代码,但如果md-select位于FORM标记内,则无效。
我测试了材料文档中的示例,并且(更改)/(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>
我创建了两个单独的函数,(更改)调用updateModel1()和(ngModelChange)调用updateModel2()。