灰烬开关/索引等等

use*_*799 3 ember.js

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专门化循环,这会导致不一致的体验.

Kin*_*n2k 6

在前面,我同意,比较一下是否真棒,但由于你在模板中加入了太多的逻辑,所以它的功能是对的.

索引可以使用 _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)

他们通常建议将逻辑放在控制器中,让它返回一个真实的声明.