in einem Winkel 2 Anwendung Ich schreibe geändert wird, habe ich ein select
Element, das auf ein Feld in der Steuerung über [(ngModel)]
gebunden ist:Angular 2: Anwendung Einfrierens, wenn Modell aus Wähleingang
<select [(ngModel)]="dateInfo.year" class="form-control">
<option *ngFor="let year of getYearList()" [value]="year">{{year}}</option>
</select>
dateInfo
ist eine Eigenschaft, in der Steuereinheit, die in einem Dienst enthalten ist, zu einem DateInfo
Objekt bezieht genannt DateService
:
@Injectable()
export class DateService {
public dateInfo: DateInfo = {
year: 2016
}
}
DateInfo
Das Objekt selbst ist ein einfaches Maschinenschrift Schnittstelle t Hut speichert nur das Jahr:
export interface DateInfo {
year: number
}
Der Grund, warum ich diese Schnittstelle verwende ist Änderungen year
auf alle Komponenten zu propagieren, die DateService
verwenden, da pro the first answer to this question.
Aus irgendeinem Grund, wenn das Modell aus dem select
Element geändert wird, friert die gesamte Anwendung ein (in Chrome und Edge getestet). Ich habe einen Plünderer gemacht, um das Problem zu veranschaulichen here.
Vielen Dank im Voraus!
Tut mir leid, wenn ich das nicht gut erklärt habe, aber mein Ziel ist es, jedes Jahr eine neue Liste zu erstellen, so dass sich 'Jahr' in der Mitte der Liste befindet. Die 'getYearList()' Methode muss jedes Mal ein neues Array zurückgeben, wenn 'year' geändert wird. –
Ich sehe, nicht näher schließen. http://plnkr.co/edit/UKA35jIa9v6jFfrbJJuz?p=preview –
Das funktioniert gut, danke! –