我需要从模板助手访问多个数据源。我设法用铁路由器发送多个数据源。
//router.js
...
papers: function() {
return Papers.find();
},
data: function() {
return {
papers: this.papers(),
check: {
done: 'ok'
},
open: 'upper'
};
}
...
问题在于我无法访问这些对象的属性超过两个级别。
我的意思是:
<template name="page">
{{pageName}}
</template>
...
Template.page.helpers({
pageName: function() {
return this.papers.name;
}
}
引发错误。
虽然:
Template.page.helpers({
pageName: function() {
return this.papers;
}
}
渲染:[object Object],没关系
对象文字也是如此:this.check.done抛出错误,但是this.open呈现&#39; upper&#39;正确。
答案 0 :(得分:0)
问题是在加载数据之前,this.papers
最初是未定义的。当您尝试访问未定义的name
属性时收到错误。
只需添加支票即可:
Template.page.helpers({
pageName: function() {
return (this.papers) ? this.papers.name || '';
},
};