我想做这样的事情:
li class={aProperty=="alpha":active} Plain Text
我在使用属性,并查看它是否与值匹配,而不是简单的布尔值。
这有效的会徽语法是什么?语法文档仅针对布尔属性条件显示此内容,并且执行类似我的示例会导致浏览器错误和编译错误。
答案 0 :(得分:1)
不幸的是,车把和徽章都只适用于布尔人。我不同意这个设计决定,但你必须跳过一些箍来添加助手来处理它们,即使这样,语法也不是很干净。
AFAIK,唯一的方法是通过bool属性。
在您的控制器中:
li class={aPropertyAlpha:active}
在你的模板中:
static void [[used]] foo(void)
{
// ...
}
答案 1 :(得分:1)
这个答案是针对评论添加的:ahnbizcad您也可以将此列表项放入组件中,并使用以下内容:
#list-item.emblem
'Raw text'
#list-item.coffee
tagName: 'li'
classNameBindings: ['activeItem']
activeItem: Ember.computed 'aProperty', ->
if @get('aProperty') == 'alpha'
return 'active'
else
return ''
然后你可以在父视图的循环中调用它,如下所示:
ul
each availableProperties as |property|
list-item aProperty=property
希望能帮助有类似问题的人。