1、注册:全局注册和局部注册
2、与vue实例不同的是data函数输入需要return
3.全局注册
Vue.component('my-com',{
template:'<div></div>'
})
4.局部注册
var child={
template:'<div>...</div>'
}
new Vue({
el:'#app',
complate:{
'my-com':child
}
})
5.限制元素:table
<table>
<tbody is="my-com'></tbody>
</table>
6.父传子,正向传递
props:{
propE:{
type:Array,
default:function(){ //如果是数组或者对象,默认值必须是一个函数
return [];
}
}
}
7.组件通信
父传子(props) 子传父($emit)
8.v-on 除了监听自定义事件外,也可以监听DOM事件,这时用.native做修饰符,表示监听的是一个原生事件
<my-com v-on:click.native='handleClick'></my-com>
9.非父子组件通信(第三方)
this.children.handleEvent();
10.slot单个挂载
<app>{{message}}</app>
Vue.component('app',{
template:'<slot></slot> //只有一个slot时,自动挂载
})
11.多个slot
<app>
<div slot='a></div>
<div slot='b'></div>
</app>
Vue.component('app',{
<div>
<slot name='a'>此处可以写默认内容</slot>
<slot name='b'></slot>
</div>
});
访问slot:this.$slots.a.
网友评论