2015-04-04 33 views
1

我剛開始使用流星和鐵路路由器來創建一個簡單的站點。網站的導航欄上有幾個鏈接,其中一個鏈接的名稱爲random。這個想法是,當用戶點擊它時,一個隨機的帖子將顯示在頁面上。當點擊同一個鏈接時讓鐵路路由器重新載入頁面

現在鐵路路由器似乎阻止頁面重新加載,如果它與當前的鏈接相同。這是一個很棒的功能,除了我的情況,我需要它來重新加載,以便用戶可以看到一個新的帖子。

下面是相關代碼:

Router.route('/random', function() { 
    console.log("running this!"); 
    this.layout('SinglePostLayout', { 
     data: function() { return draw(Posts, {}) } 
    }); 
    this.render('post'); 

draw函數返回集合中的一個職位。這是完美的樂趣,但這不是相關的。我確認代碼只能運行一次,使用console.log

有沒有辦法解決這個問題?我想保留除了隨機鏈接之外的所有其他鏈接的不重載行爲。我搜索了一段時間的答案,但找不到任何東西。

謝謝!

回答

6

由於您沒有使用動態路線來顯示每個帖子。

您可以使用窗口對象中的Location.reload()方法,並使用純Javascript。

if(Meteor.isClient){ 
    Template.home.events({ 
     'click #randomHref':function(){ 
      document.location.reload(true); 
      // Router.go('/') don't work. 
     } 
    }) 
} 
+0

謝謝!這工作!我發現真的很難知道它在處理流星和鐵路路由器時把代碼放在哪裏:( – Gnijuohz 2015-04-04 19:51:11

+0

?怎麼才能重新加載一次? – ccdiego5 2016-09-02 15:55:39

相關問題