【问题标题】:iron-router template data in rendered callback渲染回调中的 Iron-router 模板数据
【发布时间】:2015-08-05 16:26:41
【问题描述】:

我正在使用 Iron-router 将数据对象传递给模板,但想在 Template.name.rendered = function() { ... } 回调中访问数据。

来自Meteor data-context with iron-router 我尝试了UI.getData(),但收到错误There is no current view。使用 this.data 返回 null。

如何访问从渲染回调传递给模板的数据对象?

【问题讨论】:

  • 如果您在路由声明中使用了data 方法,它应该将从该函数返回的内容分配给您正在呈现的模板实例的数据上下文,并且您应该 能够通过其data 属性访问它。在onRenderedthe template instance is stored in this。所以您的数据应该通过this.data 访问。确保您的数据分配没有错误?
  • this.data 应该可以访问数据上下文,也可以分享您的数据上下文设置代码。
  • 感谢您的回复,原来我只是没有注意范围

标签: node.js meteor iron-router


【解决方案1】:

您在寻找数据上下文方面走在了正确的轨道上,但这实际上是您访问它的方式:

var ctx = Template.currentData();

另外,我相信Template.x.rendered 即将被弃用,所以如果这不起作用,请尝试使用

Template.x.onRendered(function() { 
  var ctx = Template.currentData();
  console.log(ctx);
});

【讨论】:

  • 感谢您的回复,我没有访问正确范围内的数据,Template.currentData()this.data 现在可以正常工作。感谢您建议切换onRendered()
猜你喜欢
  • 2014-01-16
  • 2015-12-22
  • 2015-03-06
  • 1970-01-01
  • 2014-07-06
  • 2014-01-03
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
相关资源
最近更新 更多