【问题标题】: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() 永远不会被调用。

【问题讨论】:

  • 显示你的updateModel 函数
  • 这是一个平庸的console.log...

标签: 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()。

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 2012-05-19
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多