第一中:

	创建一个vue实例
		<div id="app">
		// mycom2 就是引入封装的公共组件			
		<mycom2></mycom2>
	</div>
	
	<!-- 定义再外面的 vue 模板组件而且是一个公共的组件 -->
	<template id="tmp1">
		<div>
			<h1>我是一个公共组件</h1>
		</div>
	</template>
	
		var app = new Vue({
			el: '#app',
			data: {},
			method: {},
		
		});
		//开始封装一个公共的组件
		Vue.component('mycom2', {
			template: '#tmp1'
		})

第二种封装一个私有的组件

	<!-- 这是一个私有的组件只能在 div id='SY'的里面才能被访问 -->
	<div id="SY">
		<div>
			<login></login>
		</div>
	</div>

		<template id="tmp12">
		<div>
			<h1>这是一个私有的组件只能在 div id='SY'的里面才能被访问</h1>
		</div>
		</template>	

	var SY = new Vue({
			el: '#SY',
			data: {},
			method: {},
			components: {
				// login 是组件名
				login:{
					template:'#tmp12'
				}
			}
		})

组件里封装 data 和方法
组件中的 data 有点不一样,实例中的 data 可以是一个对象 但是组件中的 data 必须是一个 方法 function 还必须在 function 方法中 return 返回一个对象

		<div id="app">
		//使用封装的组件
			<mycom1></mycom1>
		</div>
		
		//封装组件
			<template id="zujian">
				<div>
					<h1>{{msg}}</h1>
					<button type="button" @click="dianji">点我加1</button>
				</div>
			</template>
		var app = new Vue({
			el: "#app",
			data: {},
			methods: {}
		})

		//封装的组件
		Vue.component('mycom1', {
			template: '#zujian',
			data: function() {
				return {
					msg:'1'
				}
				
			},
			methods:{
				dianji(){
					this.msg ++
				}
			}
		})
Logo

前往低代码交流专区

更多推荐