Vue组件化开发实例

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 组件开发是一种将页面拆分成多个独立、可复用的组件,并通过组合这些组件来构建整个页面的开发方式。在 Vue 组件开发中,每个组件都是一个独立的模块,包含自己的 HTML 模板、JavaScript 代码和 CSS 样式,可以在页面中任意组合和嵌套。 Vue 组件开发的主要优点包括: 1. 提高代码的复用性:将页面拆分成多个组件,可以让每个组件都具有独立的功能和样式,并可以在不同的页面中复用。 2. 提高代码的可维护性:将页面拆分成多个组件,可以让每个组件都具有独立的功能和样式,便于开发和维护。 3. 提高开发效率:将页面拆分成多个组件,可以让开发人员同时进行不同的组件开发,从而提高开发效率。 在 Vue 组件开发中,每个组件都是一个 Vue 实例,可以通过 props 属性和自定义事件来实现组件之间的数据传递和通信。同时,Vue 还提供了 slot 插槽和 mixin 混入等高级特性,可以让开发人员更加灵活地组合和重用组件。 下面是一个简单的 Vue 组件示例,用于演示如何实现一个基本的组件: ``` <template> <div> <h1>{{ title }}</h1> <button v-on:click="increment">{{ count }}</button> </div> </template> <script> export default { props: { title: { type: String, required: true }, count: { type: Number, default: 0 } }, methods: { increment() { this.$emit('increment'); } } }; </script> ``` 在上面的代码中,我们定义了一个名为 `Counter` 的组件,包含一个标题和一个计数器。组件通过 props 属性接收父组件传递的数据,并通过 emit 方法触发自定义事件。最后将组件注册到 Vue 实例中,即可在页面中使用该组件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值