vue2组件相关语法

73 阅读1分钟

件相关语法

基本概念:组件的基本给概念:就是把一个大的功能,拆分成一个个子组件。组件是页面中的一部分。
全局组件
	特点:全局组件只要定义,处处可以使用,性能不高,但是使用起来简单。
	组件具备复用性,在一个页面里,可以使用多次。
	定义方法:Vue.component('组件名',组件)
局部组件
	局部组件的使用需要进行注册:例如在父组件里:components:{xxx:xxx}
	PS:为了和普通变量区分,建议组件首字母进行大写。
组件传值父传子
	父组件中-属性传值
		子组件中-props接收
	校验
		校验方法:props: { content: { type: String  }}  

校验字符串

		可校验类型
			String
			Number
			Boolean
			Array
			Object
			Date
			Function
		非空校验
			required:true
		默认值
			default: xxx
		validator方法校验
			validator: function(value){ return value<1000 }  

参数必须小于1000

组件传值子传父

	单向数据流
		子组件可以使用父组件传递过来的数据,但是绝对不能修改传递过来的数据。
	this.$emit('事件','参数')方法
		子组件向父组件传递方法,从而改变父组件里的变量
		<div @自定义事件="handleXxx" >xxx</div>

slot插槽

	概念:子组件使用 <slot></slot> 接收父组件传过来的HTML结构。
	基础语法:
		父组件
			<myComp><div></div></myComp>
		子组件
			<slot></slot>
		默认值
			<slot>default value</slot>
	具名插槽
		概念:一个组件里,可以设置多个插槽,然后在父组件里可以写多个<template>来填充这些插槽
		基础语法
			父组件
				基础写法:<template v-slot:header>
				简单写法:<template #header>
			子组件
				<slot name="header">
	作用域插槽
		作用域插槽相当于插槽届的数据子传父,父组件决定子组件输出方式。

动态组件

	概念:根据数据的编号,结合compoent 这个标签,来随时动态切换组件的显示
	基础语法:<component :is="xxxx"  />
	保持状态:<keep-alive></keep-alive>
		经常和动态组件一起使用