使用computed或method获取v-index内的索引

时间:2018-05-21 23:06:16

标签: methods vue.js computed-properties v-for

我想知道是否可以在vue中直接在v-for中获取对象数组的索引并将此值传递给计算属性或方法,类似于此处,或者甚至是计算属性< / p>

<div v-for="(object, index) in objects(index)"></div> 

methods: {
   objects(index){
    const categoryId = Object.keys(this.data);
    return this.data[categoryId[index]].extras;
   } 
}

我需要索引,因为我更方便根据定义的键返回正确的值,是否有某种方法可以实现这一点?

2 个答案:

答案 0 :(得分:1)

使用计算值转换数据并循环。我不确定你的this.data是什么样的,但是这样的东西应该有用(根据你的需要进行调整):

<div v-for="object in computed_objects"></div> 

computed: {
   computed_objects(){
    return Object.keys(this.data).map(categoryId => this.data[categoryId].extras)
   } 
}

答案 1 :(得分:0)

您可以对www.example.com 指令创建的每个元素绑定方法调用,例如,每当用户点击v-for元素时,它都会获得索引点击该项目:

&#13;
&#13;
<li>
&#13;
new Vue({
  el: '#app',
  data: {
    clickedIndex: null,
    weekDays: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
  },
  methods: {
    handleClick(i) {
      this.clickedIndex = i;
    }
  }
})

Vue.config.productionTip = false;
Vue.config.devtools = false;
&#13;
&#13;
&#13;