Vue可以进行组件化开发,组件是Vue的基本结构单元,开发过程中只需要按照Vue规范定义组件,将组件渲染到页面即可。组件可以提高代码的复用性。
例如我们需要实现一个10*10的图片表格,使用常规形式,我们则需要写100个img,工作量十分巨大,。但是如果使用Vue的组件化进行开发,我们只需要定义一个组件写一个for循环传值就可以实现一样的效果,示例代码如下:
css代码部分:
body{
padding: 0;
background-color: aqua;
}
.content{
width: 100vw;
margin: 0 auto;
display: flex;
justify-content: space-around;
flex-flow: wrap;
}
.item{
background-color: #ccc;
}
img{
width: 10vw;
}
html和js代码部分:
<body>
<div id="app">
<div class="content">
<test-div v-for = "i in imgs" :im = "i"><!--循环调用imgs数组里的图片-->
</test-div>
</div>
</div>
</body>
<template id="tem"><!--定义template模板-->
<div class="item" >
<img :src="im" v-show="show"/>
</div>
</template>
<script>
Vue.component("test-div",{
template:"#tem",
// 与template模板进行绑定
props:["im"],
// 使用props传值
data:function(){
return{
show:true,
}
},
})
var vm = new Vue({
// 实例化Vue对象
el:"#app",
data:{
imgs:["img/JPEG1_01.jpg","img/JPEG1_02.gif","img/JPEG1_03.gif","img/JPEG1_04.gif","img/JPEG1_05.gif","img/JPEG1_06.gif","img/JPEG1_07.gif","img/JPEG1_08.gif","img/JPEG1_09.gif","img/JPEG1_10.gif","img/JPEG1_11.gif","img/JPEG1_12.gif","img/JPEG1_13.gif","img/JPEG1_14.gif","img/JPEG1_15.gif","img/JPEG1_16.gif","img/JPEG1_17.gif","img/JPEG1_18.gif","img/JPEG1_19.gif","img/JPEG1_20.gif",
"img/JPEG1_21.gif","img/JPEG1_22.gif","img/JPEG1_23.gif","img/JPEG1_24.gif","img/JPEG1_25.gif","img/JPEG1_26.gif","img/JPEG1_27.gif","img/JPEG1_28.gif","img/JPEG1_29.gif","img/JPEG1_30.gif","img/JPEG1_31.gif","img/JPEG1_32.gif","img/JPEG1_33.gif","img/JPEG1_34.gif","img/JPEG1_35.gif","img/JPEG1_36.gif","img/JPEG1_37.gif","img/JPEG1_38.gif","img/JPEG1_39.gif","img/JPEG1_40.gif",
"img/JPEG1_41.gif","img/JPEG1_42.gif","img/JPEG1_43.gif","img/JPEG1_44.gif","img/JPEG1_45.gif","img/JPEG1_46.gif","img/JPEG1_47.gif","img/JPEG1_48.gif","img/JPEG1_49.gif","img/JPEG1_50.gif","img/JPEG1_51.gif","img/JPEG1_52.gif","img/JPEG1_53.gif","img/JPEG1_54.gif","img/JPEG1_55.gif","img/JPEG1_56.gif","img/JPEG1_57.gif","img/JPEG1_58.gif","img/JPEG1_59.gif","img/JPEG1_60.gif",
"img/JPEG1_61.gif","img/JPEG1_62.gif","img/JPEG1_63.gif","img/JPEG1_64.gif","img/JPEG1_65.gif","img/JPEG1_66.gif","img/JPEG1_67.gif","img/JPEG1_68.gif","img/JPEG1_69.gif","img/JPEG1_70.gif","img/JPEG1_71.gif","img/JPEG1_72.gif","img/JPEG1_73.gif","img/JPEG1_74.gif","img/JPEG1_75.gif","img/JPEG1_76.gif","img/JPEG1_77.gif","img/JPEG1_78.gif","img/JPEG1_79.gif","img/JPEG1_80.gif",
"img/JPEG1_81.gif","img/JPEG1_82.gif","img/JPEG1_83.gif","img/JPEG1_84.gif","img/JPEG1_85.gif","img/JPEG1_86.gif","img/JPEG1_87.gif","img/JPEG1_88.gif","img/JPEG1_89.gif","img/JPEG1_90.gif","img/JPEG1_91.gif","img/JPEG1_92.gif","img/JPEG1_93.gif","img/JPEG1_94.gif","img/JPEG1_95.gif","img/JPEG1_96.gif","img/JPEG1_97.gif","img/JPEG1_98.gif","img/JPEG1_99.gif","img/JPEG1_100.gif",]
// 定义一个含有100个图片的数组
}
})
</script>