假设我必须使用包含相同嵌套模板的页面:
Page1:
>rootTeplate
>fooTemplate
>barTemplate
2页:
>rootTeplate
>barTemplate
如何编写模板助手,允许我在barTemplate中访问rootTemplate的数据?我知道我可以使用../访问父上下文,但在这种情况下,barTemplate不知道它必须返回多少级别。
答案 0 :(得分:1)
您需要确定要返回多少级别。在barTemplate
的帮助中,您可以使用Template.parentData
即
Template.barTemplate.helpers({
something: function() {
var parentDatas = Template.parentData()
//If there are two levels
var parentDatas = Template.parentData(2)
}
});
您需要确定要访问的级别数,并且可以将此号码插入Template.parentData
。
如果您不确定需要返回多少级别,则可能不值得使用此范例。请考虑使用路由器中的data
上下文或Session
哈希。
答案 1 :(得分:1)
在这种情况下,您可以使用Router.current()。data()从iron:router访问数据上下文。
Template.barTemplate.helpers({
var data = Router.current() && Router.current().data();
if(data)
// use it