2017-03-02 54 views
0

如何確保訂閱已準備就緒,而無需訂閱特定發佈或訂閱自動發佈。我的頁面不會在刷新時加載,因爲數據在編譯期間沒有提供,所以我想通過訂閱vue路由器的全球導航衛士。訂閱自動發佈(用於導航警衛)

+0

Meteor.subscribe()的標籤準備就緒()也許這神奇的工作 – zhan

+1

你可以對你實際上是試圖做更具體。如果您不訂閱任何內容或啓用自動發佈,您如何計劃獲取任何數據? – jordanwillis

+0

我的意思是訂閱autopublish或像subscribe()。ready()全局處理程序。這是標題所說的。 – zhan

回答

0

所以我通常處理這些問題的方式是通過將遊標作爲數據傳遞到Iron Router並檢查數據是否可用。例如:

Router.route('/', { 
    waitOn: [ 
     function() { 
      if (!Meteor.userId()) { 
       Router.go('/login'); 
      } 
      return Meteor.subscribe('data'); 
     } 
    ], 
    action: function() { 
     this.render('template'); 
    }, 
    data: function() { 
     return { 
      data: Data.find({}) 
     }; 
    } 
}) 
<template name="template"> 
    {{#if data}} 
    ... 
    {{/if}} 
</template> 

讓我知道這是否正常工作。

編輯: 剛剛發現了一個不同的路由器

+0

仍然是一個很好的開始 – zhan