Angular 4 - NgModel和Radio Buttons 2 Way Binding

时间:2017-09-16 20:03:16

标签: angular ionic-framework ionic3

我有一个用户选择语言的页面。语言列表以模态显示。模态包含一组无线电复选框。用户选择语言并按完成以关闭模态。用户可以在同一过程中重新选择语言。

如果已经选择了一种语言,你可能会在加载模态时设置/选择/检查语言,但事实并非如此。

LanguageList.ts

export class LanguageListPage {

    language: any;
    languages: any;

    isReadyToSave: boolean;

    constructor(public navCtrl: NavController, public navParams: NavParams, public util: UtilProvider, public viewCtrl: ViewController) {

        this.getLanguages();

        if (this.navParams.get("language")) {
            this.language = this.navParams.get("language");
            console.log(this.language); // P.S it does return the correct value here

        }
    }

LanguageList.html

<ion-list radio-group [(ngModel)]="language" (ngModelChange)="setReadyState()">
    <ion-item *ngFor="let language of languages">
        <ion-label color="dark">{{language.name}}</ion-label>
        <ion-note item-end>{{language.native}}</ion-note>
        <ion-radio [value]="language"></ion-radio>
    </ion-item>
</ion-list>

语言对象示例

{code: "JA", name: "Japanese", native: "日本語 (にほんご)"}

有人可以帮我修复它,以便当用户返回选择语言时,如果他们之前已经选择了一种语言,那么仍然会检查旧的选择。

this.navParams.get("language") // This is there old selection

如果它存在我将它设置为this.language但这似乎不起作用。

0 个答案:

没有答案