我已经看到了许多关于如何在循环中访问属于父上下文的变量的示例。但是,我不仅需要访问变量,还需要更改/更新它。
正如您在下面看到的,我有一个设置变量的自定义助手,但是当我尝试在循环内更改该变量时,它不起作用。有没有办法让它工作?
请看一下这个jsFiddle。
模板
{{setVarWithName "test" "hello"}}
{{#each questions}}
<h3>{{title}}</h3>
<p>before update: {{../test}}</p>
{{setVarWithName "test" "goodbye"}}
<p>after update: {{../test}}</p>
<hr />
{{/each}}
带助手的车把初始化
var source = $("#template").html();
var template = Handlebars.compile(source);
var data = {
"questions": [
{"title": "Question 1"},
{"title": "Question 2"}
]
};
Handlebars.registerHelper('setVarWithName', function (name, value) {
this[name] = value;
return '';
});
$('body').append(template(data));