Vue.js:保存v-for的索引?

时间:2017-07-31 09:49:18

标签: vue.js

我想在v-for中保存最新的索引,但我不知道如何在模板中包含这个逻辑?

基本上,我有这个:

<div v-for="(reply, index) in replies" :key="reply.id">

我想以某种方式将此逻辑包含在模板中:

this.last_index = index

我只想知道该v-for循环中的总回复数量。

谢谢!

1 个答案:

答案 0 :(得分:1)

最合适的解决方案是在Vue中使用计算属性。我通常这样做:

computed: {
  
  lengthReply() {
  
      return this.replies.length;
      
  }
  
}

如果你使用Vuex,那么在这种情况下你可能会使用getter。 如果你真的不想使用计算属性,那么你可以用大括号把它放在你的模板中,如下所示:

{{ replies.length }}

如果您只需要渲染回复列表中的最后一个元素,那么您可以使用这个可怕的代码:

<div v-for="(reply, index) in replies" v-if="reply === replies[replies.length - 1]">