2016-04-25 9 views
0

iron:routerのテンプレートの変数/メソッドにアクセスできるかどうか疑問に思っています。流行の変数をテンプレートから鉄のルータに渡す

私の問題がある:私は(変更ページメニューから)ページのアンロードに(タイマ/サブスクリプション/何でも)

を私のテンプレートが立ち上げた多くのものをリセットしたい。しかしwindow.onBeforeUnloadのみがトリガされます私たちがURLを変更しているとき。しかし、私のIron:routerはページをreffreshしていません。このunloadイベントを得るために見つけた唯一の方法は、iron:routerのunloadイベントです。しかし、私はテンプレートの変数やメソッドにアクセスできません。だから私は現時点で私が見つけた唯一の方法はセッションで私のリセットvarを渡している...そして私はこれが非常にひどいことを見つける!

Router.route('/printList', { 
name: 'printjoblistList', 
unload: function() { 
    var reset = Session.get("sessionTestIronRouter"); 
} 

これを行うためのアドバイス、ヒント、およびベストな方法がありますか? :)

+0

私は取得しないときには何を正確に行うにしようとしているが、あなたが探しているものは次のいずれかです:onRendered、onCreated、onDestroyed – Luna

+0

あなたの答えはありがとうございますが、私はそうは思わないでしょう。私のイベントアンロードは、私がページを変更しているときにうまく始まります。私がしたいのは、テンプレートのvarsとメソッドにアクセスすることだけです。 – Manov

答えて

0

これを解決し、あまりクリーンではありません。

Template.registerHelper('functionToCall', function() { 
    // Code here 
}); 

と私のアンロード鉄のルートで:

は、私は私のテンプレートクライアントサイズでglobalHelperを宣言

Router.route('/template', { 
    name: 'myTemplate', 
    unload: function (e, obj) { 
     Blaze._globalHelpers.functionToCall(); 
    } 
}); 
関連する問題