我创建了把手助手:
export default Ember.Handlebars.registerHelper('if-eq', function(v1, v2, options) {
if (this.get(v1) === this.get(v2)) {
return options.fn(this);
}
return options.inverse(this);
});
执行如下:
{{#each item in model.cons }}
{{#if-eq model.currentUser.id item.record_poster_id}}
<div class="td author current">{{model.currentUser.name}}</div>
{{else}}
<div class="td author remote">{{model.remoteUser.name}}</div>
{{/if-eq}}
{{/each}}
我收到了像text&#34; model.currentUser.id&#34;这样的变量,使用this.get(v1)我可以获得价值。 但是这个.get只适用于model.currentUser.id而且不适用于item.record_poster_id(也许是因为它来自循环中的变量)
问题:我如何按值传递变量?
答案 0 :(得分:-1)
您 传递变量的值,您只是错误地访问它们。为什么使用this.get(v1)
来访问参数?只需使用v1
即可。它已经传递了你的价值,你不必为它做任何特别的事情。
另外,我不确定Handlebars语法是否有效。 Ember可能会要求您执行this之类的操作。