2017-01-28 10 views
1

親コンポーネントに変数が1つあり、子コンポーネントで編集したいと思います。 @Inputを試してみましたが、うまくいかなかったようですね!どのように私は子供にパスvarを達成することができますまた、変更に耳を傾ける?子変数の親変数からのアクセス変数

親:

export class Parent implements OnInit { 
    showModal : boolean = false; 
} 

子供:

export class Child implements OnInit { 
    @Input() showModal: boolean; 

    // calling this function on (click) button. 
    closeModal() { 
     this.showModal = false; 
    } 
} 

はありがとうございます。

答えて

4
export class Child implements OnInit { 
    @Input() showModal: boolean; 
    @Output() showModalChange:EventEmitter<boolean> = new EventEmitter<boolean>(); 

    // calling this function on (click) button. 
    closeModal() { 
     this.showModal = false; 
     this.showModalChange.emit(this.showModal); 
    } 
} 

親要素のHTML

<child [(showModal)]="showModal" 

は、あなたが欲しいものを行う必要があります。

+0

ほぼ効く!親コンポーネントは変更を反映しません。それでもなお古い値を持っています。私は親に変更を聞くように伝えますか? – Sajad

+0

私はそれを双方向結合のために更新しました。 '[(...)] =" ... "'が動作するためには、出力に追加の 'Change'接尾辞があるところで、入力と出力の名前が一致しなければなりません。 –

+0

'showModalChange:EventEmitter'とは何ですか?なぜこれが必要ですか? – 151291

関連する問題