搜索
您的当前位置:首页正文

Vue.js框架嵌套for循环、动态配置类名和图片路径示例

来源:二三娱乐

先上代码:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>vue.js嵌套for循环示例</title>
    <style type="text/css">
        .class1 {
            border: 1px solid red;
            margin: 10px;
            width: 200px;
        }
        .class2 {
            border: 1px solid green;
            margin: 10px;
            width: 200px;
        }
    </style>
</head>
<body>
<div id="content">
    <div v-for="content in contents">
         <div v-bind:class="content.classname">
            <div class="mapTipImg">![](content.imagesrc)</div>
            <div class="mapTipList">
                <h2><a href="">{{content.name}}</a></h2>
                <ul>
                    <li v-for="label in content.labels">
                        <a href="">{{label.labelname}}</a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div> 

<script src="js/lib/jquery-1.11.1.min.js"></script>
<script src="js/vue.js"></script>

<script type="text/javascript">
    new Vue({
      el: '#content',
      data: {
        contents: [
          {
            classname: {
                'class1' : true,
                'class2' : false
            },
            imagesrc: 'img/HBuilder.png',
            name: 'AAAAA',
            labels: [
                { labelname:"bbb" },
                { labelname:"ccc" },
                { labelname:"ddd" }
            ]
          },
          { 
            classname: {
                'class1' : false,
                'class2' : true
            },
            imagesrc: 'img/HBuilder.png',
            name: 'BBBBB',
            labels: [
                { labelname:"eee" },
                { labelname:"hhh" },
                { labelname:"ggg" }
            ]
          }
        ]
      }
    })
</script>

</body>
</html>

运行效果如下:

效果

本例中主要展示了嵌套循环,动态分配样式类名和图片路径的方法,适合初学者参考。

需要注意的有以下几点:
1、循环的数据要用 [ ] 包起来,嵌套的循环也是一样;
2、v-bind:class和v-bind:src后的参数不需要用 {{ }} 包起来,其中v-band可以省略;
3、<script src="js/vue.js"></script>这句引入代码必须要写在定义数据的JS代码之前,否则会提示VUE未定义。

Top