Oto, co próbuję osiągnąć.

<select (ngModelChange)="addChild($event)">
    <option>Add</option>
    <option [value]="null">New Item</option>
    <option *ngFor="let child of menuItem.children" [value]="child">
        {{child.title}}
    </option>
</select>

Podczas gdy się kompiluje, metoda AddChild nie zostanie wywołana. Vscode informuje, że "związany wyjście Ngmodelchange nie istnieje na żadnej dyrektywie ani na elemencie" - więc jaką dyrektywę muszę dodać?

0
Krolaw 22 luty 2019, 03:50

2 odpowiedzi

Najlepsza odpowiedź

Selekcja Angulardart obsługuje tylko łańcuchy do wartości. Jeśli chcesz przekazać dowolne obiekty, musisz użyć innego komponentu - jeden, który obsługuje taką funkcjonalność.

0
Krolaw 17 kwiecień 2019, 21:36

Spróbuj zmienić swój pierwszy wiersz do:

<select (change)="addChild($event)">

To powinno wystarczyć.

Możesz także znaleźć wygodne do drukowania ciągów zamiast pełnych przedmiotów, w których oczekuje się:

<option *ngFor="let child of menuItem.children" [value]="child.id">

A może (a może nie):

<select (ngModelChange)="addChild(child.id)">

Jeśli działa lepiej dla Ciebie i oczywiście masz odpowiednią nieruchomość. Ymmv.

0
Spyryto 22 luty 2019, 10:26