0
如何防止在下一個模板/路線中顯示最後一個模板的數據?如何防止使用Iron-Router在下一個模板中呈現最後路由的數據?
我在接下來的路徑/模板的數據呈現問題,直到返回查詢。這是等待什麼?
我試過用waitOn,但是這條路線應該是被動的,所以我不想整個路線重新渲染。
注意:這個問題不同於:meteorjs iron-router waitOn and using as data on rendered,因爲我沒有使用Collection.find({})
查詢,我正在使用this.subscribe('publication')
類型的查詢。
目前我的路線的結構像這樣,這工作,但它呈現其他內容收集數據之前認購完成:
this.route('news', {
path: '/news',
template: 'contentList',
data: function() {
var content = this.subscribe('content-topics', Session.get('topics'), contentTopicsItemLimit);
var macroTopics = this.subscribe('macro-topics');
var data = {
macroTopics: macroTopics,
content: content
};
return data;
}
});
我使用waitOn嘗試過,但我不知道怎麼樣用這種類型的查詢來構造它。
那麼構建這個同時保持反應性的最佳方式是什麼?
Andreas:我已經嘗試了很多這個。這個問題是它完全重新加載頁面,並且由於某種原因(這部分可能是不相關的並且可修復的)它會弄亂我的會話變量。但是用戶可以在這裏選擇不同的主題 - 一個或多個主題 - 所以我寧願頁面沒有完全重新加載,只是爲了刷新內容。 – JohnAllen 2014-09-20 05:23:24
你的意思是改變使用waitOn會導致整個頁面刷新 - 就像在瀏覽器中重新加載URL一樣?我沒有看到使用waitOn的行爲。你確定它沒有以該頁面的鏈接格式爲準? – dcsan 2014-09-21 16:58:53
我也沒有看到這種行爲。只需根據路由器定義更改頁面的各個部分。也許你沒有使用{{> yield}}來渲染頁面內部的路由,從而重新加載整個頁面?你能發表一個你的模板的例子 - contentList和主模板嗎? – 2014-09-23 20:22:15