2017-10-19 37 views
0

我想添加一個預加載頁面,我的慢模式頁。但是我的路由器沒有顯示預載的模板。灰燼 - 預加載頁面沒有觸發慢模型

這裏是我的路線結構:

http://localhost:4302/cs2i/purchase/purchaseDetails

this.route('cs2i', function() { 

    this.route('purchase', function() { 
     this.route('purchaseDetails', function(){ 
     this.route('loading'); //not loading I do have template 
     }); 
     this.route('purchaseDetails-loading'); //not loading I do have template 
    }); 
    }); 

問題是什麼?我怎麼能把preloader到我的路線,直到我的數據和模板呈現?

在此先感謝。

除了我有我的「購買」頁面,這甚至數據加載之前triggeres一個動作。

actions: { 

     loading : function(transition, originRoute){ 

      console.log("loding done");//getting before data load 

     }, 
+0

我認爲你不需要在router.js中指定它加載..這將自動將選擇和呈現,如果它存在 – kumkanillam

+0

所以只是模板就夠了? – 3gwebtrain

+0

我已經從router.js中刪除了路由。但模板仍然沒有完成......任何旋轉? – 3gwebtrain

回答

1

定義您的路線上加載動作覆蓋缺省行爲(顯示模板)。您需要從您的荷載作用返回true如果你想顯示加載模板。

參見:https://guides.emberjs.com/v2.16.0/routing/loading-and-error-substates/#toc_the-code-loading-code-event

另外請注意,如果您加載了purchase航線的機型掛鉤數據,該purchase.loading模板/路由將被加載,而不是purchase.purchaseDetails.loading在你的路由器的配置說明。

+0

我的數據負載。 – 3gwebtrain