2017-10-19 36 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