码迷,mamicode.com
首页 > 其他好文 > 详细

vue之v-for

时间:2018-10-10 22:02:58      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:div   first   doc   tomat   sage   back   参数   item   bubuko   

vue.js 的循环渲染是依赖于 v-for 指令,它能够根据 vue 的实例里面的信息,循环遍历所需数据,然后渲染出相应的内容。它可以遍历数组类型以及对象类型的数据,js 里面的数组本身实质上也是对象,这里遍历数组和对象的时候,方式相似但又稍有不同。

对象遍历

value 是遍历得到的属性值,key 是遍历得到的属性名,index 是遍历次序,这里的 key/index 都是可选参数,如果不需要,这个指令其实可以写成 v-for="value in me";

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">
          <ul>   
              <li v-for="value in object">
                {{ value }}
              </li>
        </ul>
    </div>
    <script>
        var demo = new Vue({
            el:#demo,
            data:{
                
                object: {
                      firstName: John,
                      lastName: Doe,
                      age: 30
                }
            }
        })
    </script>    
</body>
</html>

技术分享图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">
         <div  v-for="(value, key,index) in object">
         {{ index }} : {{ key }} : {{ value }}
        </div>
    </div>
    <script>
        var demo = new Vue({
            el:#demo,
            data:{
                
                object: {
                      firstName: John,
                      lastName: Doe,
                      age: 30
                }
            }
        })
    </script>    
</body>
</html>

技术分享图片

数组遍历

数组遍历和对象遍历相类似,最大的不同点在于对象的 “key” 和 “index” 是一致的,所以这里我们只需要取一个 index 即可。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">
         <ul>
            <li v-for="(item, index) in items" v-on:click="onclick(index)">{{index}}:{{item}}</li>
        </ul>
    </div>
    <script>
        var demo = new Vue({
            el:#demo,
            data:{
                items: [apple, tomato, banana, watermelon]
            },
            methods:{
                onclick(index){
                    alert(index);
                }
            }
        })
    </script>    
</body>
</html>

技术分享图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">
        <ul>
             <li v-for="todo in items">
                    {{ todo.message}}   
              </li>
        </ul>
         <ul>
             <li v-for="(item, index) in items">
                    {{ parentMessage }} - {{ index }} - {{ item.message }}
              </li>
        </ul>
    </div>
    <script>
        var demo = new Vue({
            el:#demo,
            data:{
                parentMessage: Parent,
               items: [
                      { message: Foo },
                      { message: Bar }
                ],
            }
        })
    </script>    
</body>
</html>

技术分享图片

 

vue之v-for

标签:div   first   doc   tomat   sage   back   参数   item   bubuko   

原文地址:https://www.cnblogs.com/yuyujuan/p/9768779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!