2016-06-19 15 views
0

Iron:Routerを使用しています。テンプレートに次のイベントがあります。Meteor - テンプレートにデータを渡す

Guests.updateの機能が成功した場合は、指定されたプロパティのthanksテンプレートにリダイレクトします。

thanksテンプレートでsuccessプロパティを受け取るにはどうすればよいですか?

Template.guest.events({ 
    'submit form': function(event, template){ 
    event.preventDefault(); 
    var foo = $('[name=foo]').val(); 
    Guests.update(this._id, { 
     $set: { 
     foo: foo, 
     } 
    }, function(error, result){ 
     if (error) { 
     console.log(error); 
     } else { 
     Router.go('thanks', { success:true, id: this._id } }); 
     } 
    }); 
    } 
}); 

答えて

0

あなたのルート定義にパラメータを追加します。

Router.route('/thanks/:success/:_id', function() { 
    let success = this.params.success; 
    let _id = this.params._id; 
    ... 
}); 
+0

[OK]を、私はあなたが同様にセッション変数でそれを行うことができ – larz

+0

... URL内のparamsのない方法があると思いました。 'Session.set( 'myObject'、{success:true、id:this._id})'それからテンプレートから '.get()'を呼び出します。あなた次第。 –

+0

絶対に必要でない限り、セッション変数の使用は推奨されません(グローバルスコープ、ネームスペースなし)。経路パラメータは推奨されたパターンですURLをリンクとして共有する場合、セッション変数を使用すると状態の回復はできません。 –

関連する問題