在Ember.js Handlebars模板中,有没有办法同时拥有静态和动态类属性?

Ada*_*rea 12 handlebars.js ember.js

使用已经过度使用的待办事项应用程序示例,假设我想要一个带有"todo"类(静态)和"is-done"类(动态)的元素:

<div {{bindAttr class="todo isDone"}}>
  Other stuff in here
</div>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,"isDone"和"todo"都应该是我的视图对象的属性,这是我想要的"isDone",而不是"todo".我正在解决这个问题,在我的视图上添加一个"todo"属性,它等于一个静态的"todo"字符串.使用bindAttr时有没有办法获得静态类属性?

小提琴示例:http://jsfiddle.net/nes4H/4/

ebr*_*ryn 23

编辑:

我们已经在Ember中解决了这个问题!

在master上构建,或者在0.9.6发布之后,您现在可以:

<div {{bindAttr class="App.foo:a-bound-class :a-static-class"}}></div>


上一个答案:

遗憾的是,使用时不能同时拥有静态和动态类名bindAttr.

我建议在视图上使用一个或多个计算属性来输出静态和动态类名.

支持静态和动态类名称将是非常好的,但bindAttr目前的方式,它是不可能的.bindAttr在模板编译期间对它所附加的元素一无所知.