0

Ich habe diesen Code:md-select auslöst ngModelChange nicht oder ändern Ereignisse

<md-select [(ngModel)]="model" (change)="updateModel()" 
(ngModelChange)="model=$event;updateModel()"> [...] <md-select> 

aber wenn ich das Modell programmatisch aktualisieren, weder (Änderung) noch (ngModelChange) gefeuert, weil Update() wird nie genannt.

+1

Zeigen Sie Ihre 'updateModel' * -Funktion *. – developer033

+0

es ist eine banale console.log ... –

Antwort

1

Ich sehe nicht Ihren vollständigen Code, aber wenn die MD-Auswahl innerhalb des FORM-Tags ist, würde es nicht funktionieren.

Ich habe das Beispiel aus Material doc getestet, und (ändern)/(ngModelChange) funktionierte nicht innerhalb des ursprünglichen Codes. Aber sobald ich es in DIV geschrieben habe, haben sie gearbeitet.

Hier ist die Arbeit 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> 

ich zwei separate Funktionen erstellt haben, (ändern) ruft updateModel1() und (ngModelChange) ruft updateModel2().

Verwandte Themen