在Ember.js Handlebars模板中,有没有一种方法可以同时具有静态和动态类属性?
使用已经过度使用的待办事项应用程序示例,假设我想要一个具有“todo”类(静态)和“is done”类(动态)的元素:在Ember.js Handlebars模板中,有没有一种方法可以同时具有静态和动态类属性?,ember.js,handlebars.js,Ember.js,Handlebars.js,使用已经过度使用的待办事项应用程序示例,假设我想要一个具有“todo”类(静态)和“is done”类(动态)的元素: 这里还有其他东西吗 在本例中,“isDone”和“todo”都应该是我的视图对象上的属性,这是我想要的“isDone”,而不是“todo”。目前,我正在通过在视图中添加一个与静态“todo”字符串相等的“todo”属性来解决这个问题。在使用bindAttr时,有没有办法拥有静态类属性 Fiddle示例:我不知道您是否可以使用bindAttr,但是#view帮助程序允许您设置
这里还有其他东西吗
在本例中,“isDone”和“todo”都应该是我的视图对象上的属性,这是我想要的“isDone”,而不是“todo”。目前,我正在通过在视图中添加一个与静态“todo”字符串相等的“todo”属性来解决这个问题。在使用bindAttr时,有没有办法拥有静态类属性
Fiddle示例:我不知道您是否可以使用bindAttr,但是
#view
帮助程序允许您设置静态类和动态类:
{{#view App.TodoView class="todo" classBinding="isDone"}}
inner content
{{/view}}
编辑:
我们已经在余烬修复了这个
在从主版本生成时,或在0.9.6发布后,您现在可以执行以下操作:
先前的答案: 不幸的是,在使用
bindAttr
时,不能同时使用静态和动态类名
我建议在视图中使用一个或多个计算属性来输出静态和动态类名
同时支持静态和动态类名是非常好的,但是以
bindAttr
目前的工作方式,这是不可能的bindAttr
不知道它在模板编译过程中所附加到的元素的任何信息。在Ember master中,今天提交了一项更改,允许通过在bindAttr
中预先添加冒号来指定静态类
当然,这可能会在下一个版本之前发生变化,但这是Ember核心团队想要解决的问题。在Ember 1.10.0中,bindAttr被弃用。您可以直接将变量绑定到div类。此处,颜色变量绑定到div类:
<div class="{{color}}"></div>
内联if帮助器也可以在以下上下文中使用:
<div class="{{color}} {{if isEnabled 'active' 'disabled'}}"></div>
已更新以反映新功能。是否尚未记录?还是我错过了?