我有以下观点:
App.MyView = Ember.View.extend({
isSet: false,
layoutName: 'myview',
click: function() {
this.set('isSet', !this.get('isSet'));
}
};
它的模板:
<i {{bind-attr class=":fa isSet:fa-check"}}></i> Toggle
click
事件工作正常,并更新isSet
(我可以在ember检查器中看到),但绑定的类没有添加。我的逻辑有什么不对吗?
答案 0 :(得分:1)
在模板中使用view.isSet
代替isSet
。
<i {{bind-attr class=":fa view.isSet:fa-check"}}></i> Toggle
答案 1 :(得分:0)
另一种可能的解决方案,不是针对OP的问题,而是针对具有类似标题的问题。
使用bind-attr
绑定属性更改和元素类时,在bind-attr
帮助程序中包含静态类映射而不是在单独的静态类属性中也很重要。
这并不总是有效:
<div class="round" {{bind-attr class="highlighted:hl"}}>Inner text</div>
正确的方法是:
<div {{bind-attr class=":round highlighted:hl"}}>Inner text</div>
答案 2 :(得分:0)