2017-04-08 4 views
1

2つのオプションをチェックするには、2つのラジオボタンが必要です。私は以下を使用しました。私のコンポーネントでAngular2 boolean md-radio-buttonが機能しない

<md-radio-button [value]=true [(ngModel)]="carSelected" name="carOption">Car</md-radio-button> 
<md-radio-button [value]=false [(ngModel)]="carSelected" name="busOption">Bus</md-radio-button> 

、私はcarSelectedブール変数

public carSelected: boolean = true; 

を持っている。しかし、ラジオボタンはcarSelectedの値で更新されません。また、ラジオボタンをチェックした場合、carSelectedも更新されません。

ここで何が間違って行くことだろうか?

+0

エラーが発生しますか? – IsuruAb

+0

@ IsuruAb、私は誤りを起こさない。 –

答えて

2

HTMLでは、これを試してみてください:

<md-radio-group [(ngModel)]="carSelected"> 
    <md-radio-button [value]=true name="carOption">Car</md-radio-button> 
    <md-radio-button [value]=false name="busOption">Bus</md-radio-button> 
</md-radio-group> 

コンポーネントで: public carSelected: boolean = true;

0

最初にラジオボタンにはラジオボタンと同じ名前が必要でした。あなたのコードには他のものはすべて問題ありません。

<md-radio-group>タグにバインドし、<md-radio-button>タグにバインドする必要があります。ここ

とは、私はこれが役立つことを願っていますhow to handle different form controls in angular 2

を示したリンクです。

+0

これは角度のある素材なので、名前は必要ありません。この例をチェックしてください。 https://material.angular.io/components/component/radio – IsuruAb

+0

この例では、 'ngModel'は' タグではなくにバインドされています> 'タグ。 – HirenParekh

+0

私は自分の答えを更新しました。 – HirenParekh

0

はこれを試してみてください。これは私のために働く。変更をトリガーできるメソッドがあります。それを使用して必要な値を渡すことができます。

<md-radio-group class="example-radio-group" [(ngModel)]="carSelected"> 
    <md-radio-button [value]=true (change)="getval('car')">Car</md-radio-button> 
    <md-radio-button [value]=false (change)="getval('Bus')">Bus</md-radio-button> 
    </md-radio-group> 

マイTSファイル

getval(car){ 
    this.carSelected=true; 
    console.log(car) 
} 

APIリファレンスhereをお読みください。角度のある素材2でさらに多くを行うことができます。

素材には使用できない多くの機能が必要な場合。this UIプラットフォーム。

関連する問題