1

我尝试解决这个问题:

https://github.com/angular/material2/issues/1518

我想单击 md-item 行上的任意位置,它应该触发单选按钮的操作。


settings.component.html :

<md-radio-group [(ngModel)]="lang">
  <md-list-item (click)="changeLanguageTo(l)" *ngFor="let l of langOptions">
    <md-radio-button [value]="l">
       {{l}}
    </md-radio-button>
  </md-list-item>
</md-radio-group>
<p>Your have selected : {{lang}}</p>

settings.component.ts :

private langOptions = [
  'fr',
  'en'
];
private lang: string = 'en';
changeLanguageTo(lang) {
  this.lang = lang || this.lang;
  console.log(this.lang);
  this.translate.use(this.lang);
}

默认情况下,在我的 app.components.ts 文件中,我当前选择的语言是英语。

实际上,更改语言的事件工作正常,但我不明白为什么我没有在单选按钮上默认选择语言?

为什么 ngModel 不初始化默认设置的当前语言?有任何想法吗 ?

4

1 回答 1

0

没关系,我创建了解决方案:

      <md-radio-group [(ngModel)]="lang">
        <md-list-item (click)="changeLanguageTo(l)" *ngFor="let l of langOptions">
          <md-radio-button [value]="l" [checked]="lang == l">
            {{l}}
          </md-radio-button>
        </md-list-item>
      </md-radio-group>

      <p>Your have selected : {{lang}}</p>
于 2016-11-09T13:53:14.540 回答