Ember.js 将条件类绑定与现有类组合

Ember.js 将条件类绑定与现有类组合,ember.js,Ember.js,在尝试将条件属性绑定与同一元素上的常规类组合时,我注意到了条件属性绑定的一个问题。这是我正在尝试的把手标记: <a href="#" class="button" {{bindAttr class="isDirty:dirty:clean"}} {{action save}}>Save</a> 我期望生成的是: <a href="#" class="button clean" data-bindattr-3="3" data-ember-action="4"&

在尝试将条件属性绑定与同一元素上的常规类组合时,我注意到了条件属性绑定的一个问题。这是我正在尝试的把手标记:

<a href="#" class="button" {{bindAttr class="isDirty:dirty:clean"}} {{action save}}>Save</a>

我期望生成的是:

<a href="#" class="button clean" data-bindattr-3="3" data-ember-action="4">Save</a>
<a href="#" class="button" data-bindattr-3="3" data-ember-action="4">Save</a>

但实际产生的是:

<a href="#" class="button clean" data-bindattr-3="3" data-ember-action="4">Save</a>
<a href="#" class="button" data-bindattr-3="3" data-ember-action="4">Save</a>

当我修改模型时,它会正确地生成脏类:

<a href="#" class="button dirty" data-bindattr-3="3" data-ember-action="4">Save</a>

如果我尝试在绑定后移动类,它将生成条件类而不是声明的类:

<a href="#" {{bindAttr class="isDirty:dirty:clean"}} class="button" {{action save}}>Save</a>

生成条件而非按钮类:

<a href="#" class="clean" data-bindattr-3="3" data-ember-action="4">Save</a>

我想要的是让它只使用手柄(无需创建视图)生成组合声明类和条件类。还有其他方法吗?

在中,它描述了为一个项目组合静态类和绑定类的方法:

如果需要元素具有静态类和绑定类的组合,则应在绑定属性列表中包含静态类,并以冒号作为前缀

在您的情况下,您可以这样做:

<a href="#" {{bindAttr class=":button isDirty:dirty:clean"}} {{action save}}>Save</a>


以下是从Ember 1.11开始您可以使用的工作示例



谢谢,我不确定我是怎么错过的。
bindAttr
被别名为
bindAttr
,自那时起就被弃用了。