vue组件
什么是组件:(Component)组件是vue.js最强大的功能之一,组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素形式,以is特性扩展
1.扩展HTML元素
2.重用性
3.可以实现特殊的功能
1》全局组件(父组件)
2》局部组件(子组件)
全局组件:Vue.component(组件名称,{})
组件中的data是一个函数 不是数据,data必须返回对象{str:xxx,num:xxx}
局部组件:
new Vue({ //父组件
el:"#app",
//子组件集合
components:{
“组件名称”:{
template:"",
data:function(){},
methods:{}
}
}
})
------------------------------------------------------------------
组件数据传递/通信
prop(子组件使用父组件的数据)
1.在子组件props:[定义数据名称]
{{子组件定义的数据名称}}
2.<com :子组件名称="父组件数据名称"></com>
props:单向数据流
双向数据:
在js中对象是引用类型
子和子之间的传递
自定义事件
1.使用$on(eventName) 监听事件
2使用$emit(eventName) 触发事件