2017-05-26 6 views
-1

私はSOとAngular2の新機能だと言ってこれを前に説明します。angular2/ionic2使い方* ngFor関数呼び出しのパラメータ

私は、* ngForループをパラメーターとして使用して、navCtrl.push()で行を渡すことを試みています。目標はFacebook Messengerのようなもので、アクセスしたいチャットグループをクリックすると、クリックしたチャットグループに関連付けられたコンテンツ(メッセージ)のページが表示されます。ここで私はうまくいくと思ったものです。問題は、 'イベント'変数を押して/受信することです。私はngForループでテキスト参照を行っていますが、私はそれをカットします。しかし

<div *ngFor='let event of dataProvider.data.invitedEvents'> 
    <button (click)='this.navCtrl.push(groupVotePage, event)' ion-item> 
    </button> 
    </div> 

、私は(コンストラクタでnavParamsで)this.navParams.getとgroupVotePage(「イベント」)でイベントにアクセスしようと、私はnullを取得します。私はこれを渡す方法があるかどうか、または私はそれについて正しい方法で行くのだろうかと思っています。あなたが私にそれが何であるかを知らせることができれば、確かめる必要があるバックエンドのものがあることを知っています。

ありがとうございます!ここ

答えて

1

問題は、テンプレートにあなたが私はあなたがthis.navCtrl角度は、プロパティのためにあなたのコンポーネントのこの内部を見ていきます書くとき、第二の問題groupVotePageは財産ではないので、単純に言えば、という意味ではこのを持っていないということですテンプレートで使用するものはすべて、コンポーネント内のプロパティ/メソッドでなければなりません。

ボタン

<button (click)='goToPage(event)' ion-item></button> 

PSその後、コンポーネントの内部で

public goToPage(event){ 
    this.navCtrl.push(groupVotePage, { event: event}) 
} 

を新しいメソッドを作成します。 2番目のパラメータは、ルータが読み取るオブジェクトです。あなたのイベントにアクセスするには、ルータのキーバリューペアを渡す必要があります。

+0

OK、私はあなたが言っていることを見ています。良い洞察力が、私の問題を解決しません。注意すべき点は、ページへのナビゲートに問題がないということです。これは、「this」を使用することが問題ではないと考えるようになります。私が抱いている唯一の問題は、 'イベント'をパラメータとして持ち込むことです。 –

+0

@OwenCummings check update。 –

+0

これで、値を持つページにアクセスできます。this.navParams.get( 'event')ではなくnullを返し、ゼロを返します。しかし、これはまだ私の目的ではありません。ここでもキーと値のペアを使用する必要がありますか?または何とか私のコンストラクタにそれを追加しますか? –

関連する問題