2017-06-17 7 views
1

私はボタンであるイオン成分を、別のコンポーネントに保存されている変数の値に基づいて表示しようとしています。イオン値2の別のコンポーネントに変数値を渡す

変数が、私は変数がtrueに等しい場合、要求ボタンを表示したときに偽のそれを隠すしたいブールは私のhome.ts

内部に格納され、 isPickupRequestedと呼ばれています。

Home.ts

. . . 
export class HomePage { 

    public isPickupRequested: boolean; 

    constructor(public navCtrl: NavController, public platform: Platform, 
    private geolocation: Geolocation, public events: Events) { 
    platform.ready().then(() => { 

     this.loadMap(); 
     this.isPickupRequested = false; 
} 
. . . 

要求-button.html

<button [hidden]="!isPickupRequested" ion-button (tap)="ConfirmPickup()">Set pickup location</button> 

することができますどのように要求し、ボタンコンポーネントはisPickupRequested変数へのアクセス権を持っていますか?

答えて

0

コンポーネントの値を親コンポーネントに渡すには、eventsを使用する必要があります。子ページから

だから、このような何かを:あなたは他の場合と同様に

import { EventEmitter, Output } from '@angular/core'; 


@Component({ 
    ... 
}) 
export class ChildPage { 
    @Output() pickupConfirmed = new EventEmitter(); 

    ... 

    notifyPickupConfirmed() { 
    this.pickupConfirmed.emit(pickUpId); 
    } 
} 

は、次に親ページにあなただけのテンプレートでイベントをキャッチすることができます:

<request-button (pickupConfirmed)="onPickupConfirmed($event)"> 
+0

感謝を。だから自宅はあなたの例の子供です、そして、要求ボタンは親ですか? –

+0

あなたのコードを記述した方法を考えると、私は親とあなたの子コンポーネントとは何かについて少し混乱しています。したがって、私は意図的に私の答えにそのような関係を示すのを避けました(私はあなたのコード):)。子コンポーネントのイベントを発生させることの基本が親コンポーネントのイベントを処理することを理解している限り、あなたはうまくいきます。乾杯! – maninak

+0

私はそれを働かせることができません。 '名前出力が見つかりません'。私はionic2のためにこれは? –

関連する問題