2017-07-27 85 views
0

我有一個for循環模板像這種類型的無線電設備的輸入:輸入型無線電頁面加載後檢查復位

<ng-template ngFor [ngForOf]="numberOfOptions | reverse" let-item> 
     <input id="rating{{item}}" type="radio" name="rating" value="{{item}}" [(ngModel)]="alreadySelected" [checked]="item === defaultSelected"> 
     <label for="rating{{item}}">{{item}}</label> 
    </ng-template> 

其中defaultSelected是我的組件的屬性:

defaultSelected: number 

當頁面重新加載正確的廣播被選中,但突然它只是重置爲沒有選擇。

+0

我認爲你不必綁定到checked屬性,因爲NgModel會自動爲你處理它。 –

+0

我試過,但沒有綁定 – user1007522

+1

在你的代碼中,你將NgModel應用到'alreadySelected',但是在你的控制器中你有'defaultSelected'。這不是問題嗎? –

回答

0

財產被定義爲:

set alreadySelected(value) { 
    this._alreadySelected = value 
    this.notify.emit(value); 
} 

但沒有消氣吧,所以我說像這樣的getter:

get alreadySelected(): number { 
    return this._alreadySelected 
} 

,然後檢查這樣的條件:

<input id="rating{{item}}" type="radio" name="rating" [value]="item" [(ngModel)]="alreadySelected" [checked]="item == alreadySelected"> 

然後,當我有一個defaultSelected,因爲它是可選的:

ngOnInit(): void { 
    if (this.defaultSelected) { 
     this.alreadySelected = this.defaultSelected 
    } 
} 
相關問題