Ember在比较部门似乎相当缺乏.您只能使用#if帮助程序与零进行比较,并且人们编写的所有很酷的扩展帮助程序都不能与@index ...一起使用,所以你不能做类似的事情
{{#each}}
{{#xif '@index == 3'}}
....
{{/xif}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
这将提供专业化(对于@index == 3).
有谁知道如何基本上做到这一点?我有一个循环,但我需要专注于某些索引.
理想情况下,一个switch语句会很好(可能会破解把手添加这个?)
例如,
{{#each}}
{{#switch @index}}
{{case 0}}
....
{{/case}}
{{case 1}}
....
{{/case}}
{{default}}
....
{{/default}}
{{/switch}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
等等...
现在我不得不使用jquery专门化循环,这会导致不一致的体验.
在前面,我同意,比较一下是否真棒,但由于你在模板中加入了太多的逻辑,所以它的功能是对的.
索引可以使用 _view.contentIndex
http://emberjs.jsbin.com/mugokaka/1/edit
而switch只是if语句的语法糖,所以它仍然可以完成,但同样,它不是一个比较,只是简单,有点难看.
{{#if statementOne}}
foo 1
{{else}}
{{#if statementTwo}}
foo 2
{{else}}
//yadda
{{/if}}
{{/if}}
Run Code Online (Sandbox Code Playgroud)
他们通常建议将逻辑放在控制器中,让它返回一个真实的声明.