赞
踩
涉及内容
v-for:可以实现页面列表渲染,常用来循环数组。
v-if和v-show:v-if用来控制元素显示和隐藏,属性为布尔值。v-show可以实现与v-if同样的效果,但是v-show是操作元素的display属性,而v-if会对元素进行删除和重新创造,所以v-if在性能上不如v-show。(!v-show会取v-show的反向指令,出现隐藏效果)
组件:在vue中,组件是构成页面中独立结构单元,能够减少重复代码的编写,提高开发效率,降低代码之间的耦合程度,使项目更易维护和管理。
template:template模板是用字符串保存的,写在HTML中有利于在编辑器中显示代码提示和高亮显示,不仅改善了开发体验,也提高了开发效率。<template>标签来定义结构模板,通过id值绑定在组件内的template属性上。
2.代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="js/vue.js"></script> <style> .content{ width: 1100px; margin: 0 auto; border: 1px solid skyblue; display: flex; justify-content: space-between; flex-wrap: wrap; } .item{ height:286px; width:213px; background-color: #7cc8c6; margin: 5px 0px; } </style> </head> <body> <div id="app"> <div class="content" > <fu-img v-for="i in imgs" :im="i"></fu-img> </div> </div> <template id="test"> <div class="item" @click="change"> <img :src="im" v-show="show"/> </div> </template> <script> Vue.component("fu-img",{ template:"#test", props:["im"], data:function(){ return{ show:true } }, methods:{ change:function(){ this.show = !this.show; } } }); var vm = new Vue({ el:"#app", data:{ imgs:["img/images/1_01.jpg", "img/images/1_02.jpg", "img/images/1_03.jpg", "img/images/1_04.jpg", "img/images/1_05.jpg", "img/images/1_06.jpg", "img/images/1_07.jpg", "img/images/1_08.jpg", "img/images/1_09.jpg", "img/images/1_10.jpg", "img/images/1_11.jpg", "img/images/1_12.jpg", "img/images/1_13.jpg", "img/images/1_14.jpg", "img/images/1_15.jpg", "img/images/1_16.jpg", "img/images/1_17.jpg", "img/images/1_18.jpg", "img/images/1_19.jpg", "img/images/1_20.jpg", "img/images/1_21.jpg", "img/images/1_22.jpg", "img/images/1_23.jpg", "img/images/1_24.jpg", "img/images/1_25.jpg" ] } }); </script> </body> </html>
3.效果图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。