Meteor Router.after已弃用,是否有替换全局after hook?

Meteor Router.after已弃用,是否有替换全局after hook?,meteor,iron-router,Meteor,Iron Router,我想在呈现任何路由后,将页面标题更改为该路由的名称。这是我以前使用的代码: Router.after(function(){document.title = this.route.name;}); 提到在单个路线内使用onAfterAction,但我想在全球范围内使用它?您一定错过了以下内容: 正确的语法非常简单: Router.onAfterAction(function(){ // your hook definition }); 注:本指南适用于铁:router@1.0.0-pre

我想在呈现任何路由后,将页面标题更改为该路由的名称。这是我以前使用的代码:

Router.after(function(){document.title = this.route.name;});

提到在单个路线内使用onAfterAction,但我想在全球范围内使用它?

您一定错过了以下内容:

正确的语法非常简单:

Router.onAfterAction(function(){
  // your hook definition
});
注:本指南适用于铁:router@1.0.0-pre2必须明确添加到应用程序中,如下所示:

meteor add iron:router@1.0.0-pre2
但是
Router.onAfterAction
iron:router@0.9.X
也是

我建议使用
this.route.getName()
而不是
this.route.name
,请参阅此处有关此问题的更多信息:

路由器后()方法虽然已被弃用,但在语法方面仍允许在代码中使用。正如IRC聊天中所讨论的,最好的方法是使用新语法

Router.onAfterAction(function(){
     document.title = this.route.name;
});
这应该可以解决您正在寻找的问题

干杯


Ryan

嗨,请你读一下好吗。在您的问题中包含尽可能多的相关信息和代码,很可能会得到很好的答案:)由于某种原因,我的一条路由没有this.route.getName函数。因此,我现在使用了以下代码:
Router.onAfterAction(function(){document.title=this.route.getName?this.route.getName():this.route.name;})并且它现在适用于所有路线。缺少getName()函数的路由定义如下:
Router.route('foo',{waitOn:function(){Meteor.subscribe('bar');}})订阅相当大,有数百行数据,需要几秒钟才能完成,因此可能是路由渲染延迟造成的。