我想将一个 ember 对象传递给车把助手,我使用了如下所示的助手,但它没有收到正确的对象。它只是在控制台中打印对象的名称,请参见下面的代码
//ember helper
Ember.Handlebars.registerHelper('act', function (value) {
console.log(value); //It prints as item.label
return value+"1";
});
//template
{{#each item in content}}
<li ><a {{bindAttr href="item.link"}}>{{act item.label}}</a></li>
{{/each}}
// Ember model which i am using
App.AllRoutes = [Ember.Object.create({
label: "index",
link:"#/",
}),
Ember.Object.create({
label: "second",
link: "#/second",
}),
更新 即使 srinivasan 解决方案有效它也不适用于下面显示的问题。registerBoundHelper 返回带有脚本元素的值。所以 for It 不能在标签内使用。还有其他帮助吗?
//ember helper
Ember.Handlebars.registerBoundHelper('act', function (value) {
console.log(value); //It prints as item.label
if (value == "somevalue"){ return new Handlebars.SafeString("class='active'"); }
});
//template
{{#each item in content}}
<li {{act item.label}} ><a {{bindAttr href="item.link"}}>{{label}}</a></li>
{{/each}}
我正在使用 Ember.VERSION:1.0.0-rc.7,Handlebars.VERSION:1.0.0
提前致谢...