2
我已經爲新文檔創建了路由「/ new /」。我有去那裏和事件代碼的按鈕,看起來像獲取流星重新渲染「新文檔」的路由
Template.form.events({
"click #new": function() {
window.location.href = "/new/";
},
});
這個工作,但我不想流星重新加載這是發生了什麼頁面。相反,我只想渲染路線。所以我試過這個
Template.form.events({
"click #new": function() {
Router.go("/new/");
},
});
現在完全沒有任何反應。即使我在另一條使用相同頂級模板的路線上,所發生的只是URL已更改,但路線實際上並未重新呈現。
我試着用Tracker.Dependency
var someDummyDep = new Tracker.Dependency; // also tried Deps.Dependency();
Template.form.onCreated = function() {
var instance = this;
instance.autorun(function() {
someDummyDep.depend();
});
});
Template.form.events({
"click #new": function() {
someDummyDep.changed();
Router.go("/new/");
},
});
解決這個我不知道怎麼回事,使模板依賴,但因爲我有使用我認爲這可能會奏效反應的東西onCreated功能的其他模板。它並沒有改變。什麼都沒有發生,沒有任何東西被重新渲
實際的路線只是看起來像這樣
Router.route('/new/', function() {
this.render('form');
});
我試圖改變路線,這
Router.route('/new/', {
action: function() {
this.render('form');
},
data: function() {
someDummyDep.depend();
},
});
這
Router.route('/new/', {
action: function() {
this.render('form');
},
data: function() {
someDummyDep.depend();
return Math.random(); // ?? maybe if the data changes?
},
});
我也試過這個
Template.form.events({
"click #new": function() {
someDummyDep.changed();
Router.go("/new/", {}, {hash: Math.random().toString()});
},
});
哪個應該將URL設置爲類似/new/#3243543623432
的東西,但即使文檔說明它應該也不會設置散列。
我應該怎麼做流星/鐵路由器重新渲染?