Iron Router Action与OnBeforeAction

时间:2015-06-22 14:32:44

标签: meteor iron-router

iron:router action vs onBeforeAction之间有什么区别?最初我的猜测是action是一个持续活动的路由钩子,而onBeforeAction只在路由呈现之前执行。另外,我如何描述所有路线的全局动作。 Router.onBeforeAction的工作原理是我可以为所有路由全局定义一个钩子,但我不能以同样的方式使用Router.action。也许我只是误解了action正在做什么。

1 个答案:

答案 0 :(得分:0)

动作旨在用于特定模板的路径控制器。

您需要注意这是可选的,因为默认操作的行为是自动呈现路径及其布局和区域。 因此,如果要在使用路径控制器时更改默认行为,可以执行以下操作:

this.PostAdController = RouteController.extend({

  'template' : 'InsertPostTemplate',
  'subscriptions' : function(){ /* subs here */ },

  'action'   : function(){
    // this could be empty in most cases, but:
    if (this.ready()){ this.render(); } else { this.render('Loading'); }
  }


});

因此,使用该代码,您可以在订阅未准备好的情况下呈现Loading模板。