vue.js中v-for的使用及索引获取

vue.js中v-for的使用及索引获取

1.v-for

  直接上代码。

  示例一:

复制代码




    
    
    


    
  • {{ tab.text }}

复制代码

vue.js中v-for的使用及索引获取_第1张图片

2.索引

  在 v-for 块内我们能完全访问父组件作用域内的属性,另有一个特殊变量 $index,正如你猜到的,它是当前数组元素的索引:

  • {{ parentMessage }} - {{ $index }} - {{ item.message }}

复制代码

var example2 = new Vue({
  el: '#example-2',
  data: {
    parentMessage: 'Parent',
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})

复制代码

  另外,你可以为索引指定一个别名(如果 v-for 用于一个对象,则可以为对象的键指定一个别名):

{{ index }} {{ item.message }}

   从 1.0.17 开始可以使用 of 分隔符,更接近 JavaScript 遍历器语法:

  示例二:

复制代码




    
    
    


    
  • Text:{{option.text}}--Vlue:{{option.value}}

你点击的索引为: {{ click }}

试着点击上方LI条目

复制代码

vue.js中v-for的使用及索引获取_第2张图片

3.在点击事件中取到索引

  方法一:添加自定义属性

  示例三:

 

复制代码



    
        
        
        
    
    
        
        
    
    
    

复制代码

vue.js中v-for的使用及索引获取_第3张图片

  方法二:直接传入索引值

  示例四(和二差不多):

复制代码























    



复制代码

  效果与方法一相同。

  不过有链接时:

  与取索引虽然不冲突,但是如果要对所跳的链接做进一步操作,则无法阻止跳转事件:

vue.js中v-for的使用及索引获取_第4张图片

  如果想直接传索引可以用以下方法:

  示例五:

复制代码



    
        
        
        
    
    
        
        
    
    
    

复制代码

 

补充:

 

4.关于v-for版本2.0与1.x的区别

  2.0版本的示例五:

复制代码



    
        
        
        
    
    
        
        
    
    
    

复制代码

  变化如下:

  1. el处需id,写body报错;
  2. 参数index需写在item后面;
  3. 作为事件参数时不用加$符。

  此外,也可以提供第二个的参数为键名:

{{ key }} : {{ value }}

  第三个参数为索引:

{{ index }}. {{ key }} : {{ value }}

 

你可能感兴趣的:(vue.js中v-for的使用及索引获取)