我正在尝试访问从javascript函数中的铁路由器传递的数据
router.js
this.route('editOrganization', {
path: '/editOrganization',
waitOn: function() {
return [
Meteor.subscribe('organization', this.userId)
];
},
data: function() {
return Organizations.findOne();
}
});
现在,如果我想访问html(editCompany.html)中的组织属性,则可以执行以下操作
{{name}}
但是我如何在js文件中访问相同的属性
Template.editOrganization.rendered = function() {
//how do I access name?
}
更新:因此,如果我单击链接来编辑组织,则可以通过获取值
this.data.name
但是,如果我重新加载页面(相同的URL),则会引发错误,指出数据为空。
可通过呈现的函数上下文访问它。
Template.editOrganization.rendered = function() {
var name = this.data && this.data.name;
};
这对于许多人来说是令人困惑的,但是您需要配置路由器以实际等待使用waitOn返回的预订。
Router.onBeforeAction('loading')
您可以在此处阅读作者的解释:
https://github.com/EventedMind/iron-router/issues/554#issuecomment-39002306
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句