我有一个模板grid_list
<template name="grid_list">
{{#each items}}
bla
{{/each}}
</template>
grid_list helpers:
Template.grid_list.helpers({
items: function() {
return [1, 2, 3];
}
});
我从其他模板中调用grid_list
{{&GT; grid_list}}
我可以以某种方式将其他变量传递给grid_list来覆盖项目帮助结果吗?
答案 0 :(得分:0)
数据上下文优先于帮助程序,因此您可以使用它来实现您想要的目标。
<template name="test">
{{> grid_list myDataContext}}
</template>
<template name="grid_list">
{{#each items}}
bla
{{/each}}
</template>
Template.test.helpers({
myDataContext: function () {
return {
items: [2, 5, 4, 6]
}
}
})
在items
帮助器中,您可以检查数据上下文是否包含该数组,并返回适当的值。例如:
<template name="test">
{{> grid_list myDataContext}}
</template>
<template name="grid_list">
{{#each items}}
<p>{{this}}</p>
{{/each}}
</template>
Template.test.helpers({
myDataContext: function () {
return {
items: [2, 5, 4, 6]
}
}
})
Template.grid_list.helpers({
items: function() {
data = Template.instance().data
if(data.hasOwnProperty('items')){
return data.items
}else{
return [1, 2, 3]
}
}
})