Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬-如果每个中的最后一项_Ember.js - Fatal编程技术网

Ember.js 余烬-如果每个中的最后一项

Ember.js 余烬-如果每个中的最后一项,ember.js,Ember.js,我试图在一个each-in-ember中的最后一项下显示一段标记——我尝试了类似@last的东西,但它返回时出现了一个错误 <ul> {{#each people as |person index|}} <li>Hello, {{person.name}}! You're number {{index}} in line</li> {{/each}} </ul> {{{#每个人作为|个人索引} 你好,{{person.name}

我试图在一个each-in-ember中的最后一项下显示一段标记——我尝试了类似@last的东西,但它返回时出现了一个错误

<ul>
  {{#each people as |person index|}}
    <li>Hello, {{person.name}}! You're number {{index}} in line</li>
  {{/each}}
</ul>
    {{{#每个人作为|个人索引}
  • 你好,{{person.name}}!你的号码是{{index}}
  • {{/每个}}

Ember的
{{{each}}
模板帮助程序没有提供一种简单的方法

正如您可能想到的,您可以使用
{{{inspect index}}
有条件地呈现第一个对象上的内容。这是有效的,因为索引从零开始,
0
被认为是错误的

您可以合并并获得与最后一个元素相当的结果。两者都是维护良好的ember插件,提供了一整套模板帮助程序

Ember truth helpers提供了一个
eq
帮助程序,它增加了对模板中相等比较的支持。Ember math helpers提供了一个
帮助程序,用于从模板中的另一个值中减去一个值。将两者结合起来,我们可以建立一个仅对最后一个元素为真的条件:

{{#each items as |item index|}}
  <li>
    {{item}}
    {{#unless index}}(first){{/unless}}
    {{#if (eq index (sub items.length 1))}}(last){{/if}}
  </li>
{{/each}}
{{{#每个项目作为|项目索引|}
  • {{item}} {{{除非索引}}(第一){{/除非} {{#if(eq-index(sub-items.length))}(last){{/if}
  • {{/每个}}
    您可以在此处找到一个演示该方法的余烬旋转:


    如果数组是一个数组,则更简单<余烬的code>NativeArray
    提供了一个指向数组中最后一项的。正如@Gaurav在评论中指出的那样,您可以直接使用该方法进行相等的比较:
    {{{{if(eq item items.lastObject)}(last){/if}
    ,但是要注意,如果数组中有重复的元素,这可能会给出错误的结果。

    Ember的
    {each}
    模板帮助程序并没有提供一种简单的方法来实现这一点

    正如您可能想到的,您可以使用
    {{{inspect index}}
    有条件地呈现第一个对象上的内容。这是有效的,因为索引从零开始,
    0
    被认为是错误的

    您可以合并并获得与最后一个元素相当的结果。两者都是维护良好的ember插件,提供了一整套模板帮助程序

    Ember truth helpers提供了一个
    eq
    帮助程序,它增加了对模板中相等比较的支持。Ember math helpers提供了一个
    帮助程序,用于从模板中的另一个值中减去一个值。将两者结合起来,我们可以建立一个仅对最后一个元素为真的条件:

    {{#each items as |item index|}}
      <li>
        {{item}}
        {{#unless index}}(first){{/unless}}
        {{#if (eq index (sub items.length 1))}}(last){{/if}}
      </li>
    {{/each}}
    
    {{{#每个项目作为|项目索引|}
    
  • {{item}} {{{除非索引}}(第一){{/除非} {{#if(eq-index(sub-items.length))}(last){{/if}
  • {{/每个}}
    您可以在此处找到一个演示该方法的余烬旋转:


    如果数组是一个数组,则更简单<余烬的code>NativeArray
    提供了一个指向数组中最后一项的。正如@Gaurav在一篇评论中指出的那样,您可以直接使用它进行相等的比较:
    {{{{if(eq item items.lastObject)}(last){/if}
    ,但是要注意,如果数组中有重复的元素,这可能会给出错误的结果。

    我必须添加余烬数学模块
    {{{if(eq item items.lastObject)}(last)}(last){/if}
    @Gaurav当然可以。这是一个更好的解决方案。你想把它作为一个单独的答案添加,还是我应该把它包含在我的答案中?你能把它添加到你的答案中吗answer@Gaurav的解决方案只有在列表中没有重复对象时才可靠。我必须添加余烬数学模块
    {{{if(eq item items.lastObject)}}(last){{/if}
    @Gaurav当然了。这是一个更好的解决方案。你想把它作为一个单独的答案添加,还是我应该把它包含在我的答案中?你能把它添加到你的答案中吗answer@Gaurav的解决方案只有在列表中没有重复对象时才可靠。