Javascript Meteor模板数据上下文在模板中不可用。刷新时创建

Javascript Meteor模板数据上下文在模板中不可用。刷新时创建,javascript,meteor,page-refresh,iron-router,Javascript,Meteor,Page Refresh,Iron Router,我在模板的创建的函数中使用模板数据上下文 Template.temp.created = function() { console.log('this.data'); }; 当我正常转到页面时——即单击页面的链接——我看到控制台记录了正确的数据对象。当我点击页面上的刷新按钮时,this.data为null 为什么? 此外,我正在使用iron router设置数据上下文: ... this.route('temp', { ... data: function() { retur

我在模板的
创建的
函数中使用模板数据上下文

Template.temp.created = function() { console.log('this.data'); };
当我正常转到页面时——即单击页面的链接——我看到控制台记录了正确的数据对象。当我点击页面上的刷新按钮时,
this.data
null

为什么?


此外,我正在使用iron router设置数据上下文:

...
this.route('temp', {
    ...
    data: function() { return MyCollection.findOne(someId); },
    ...
}
...

如果要等待数据到来,请使用
waitOn

this.route('temp', {
    waitOn:function(){
      return this.subscribe("nameOfPublishFunction");
    },
    data: function() { return MyCollection.findOne(someId); },
    ...
}
记住激活装载钩(谢谢@Peppe L-G):

更新
您可以找到带有iron:router软件包的meteor应用程序示例,该软件包显示了如何打开和关闭加载挂钩(
router.onBeforeAction(“加载”)
)将数据的可用性更改为
创建的方法和
呈现的方法。

它们是否已更改,以便默认情况下包含加载挂钩?否则你也需要添加它才能让它工作。坚持住@B-Brock,他们正在考虑将其更改为默认包含:)
Router.onBeforeAction("loading");