我有这样的代码:
<md-select [(ngModel)]="model" (change)="updateModel()"
(ngModelChange)="model=$event;updateModel()"> [...] <md-select>但是当我以编程方式更新模型时,由于updateModel()从未被调用,所以(change)和(ngModelChange)都不会触发。
发布于 2017-05-23 01:46:11
我没有看到您的完整代码,但如果md-select位于FORM标记内,它将无法工作。
我测试了material文档中的示例,(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()。
https://stackoverflow.com/questions/44032751
复制相似问题