Handlebars条件类属性

时间:2013-09-24 21:13:47

标签: ember.js handlebars.js

使用EmberJS / Handlebars,只有条件为真时,如何才能向元素添加类?

<div {{#if isSearching}}class="foo"{{/if}}></div>

就像那样,但是更少的伪代码和更多的现实。

3 个答案:

答案 0 :(得分:50)

{{bind-attr}}是deprecated。您可以在Ember 1.10及更高版本中使用新的更好的bound attribute syntax,如下所示:

<div class="{{if isSearching 'foo'}}"></div>    

答案 1 :(得分:9)

你必须使用布尔条件的{{bind-attr}}助手,你可以read the guide about this

在您的情况下,如果isSearching属性在控制器中,您可以执行以下操作:

<div {{bind-attr class="isSearching:foo"}}></div>

你可以在这个小提琴中看到整个代码:http://jsfiddle.net/NQKvy/240/

答案 2 :(得分:7)

这不起作用,因为{{#if}}帮助程序会在HTML中创建标记。这样做:

<div {{bind-attr class="isSearching:foo"}}></div>