js对象是引用关系,所以要注意数据使用时候可能发生的异常情况
组件内的props短横线命名
注册的几种方式
全局组件
Vue.component('my-component',{
template:'<p>my content</p>',
data: function(){
}
})
局部组件
利用components选项
<div id="app">
<my-component></my-component>
</div>
<script>
var Child = {template :'</div>局部注册组件的内容</div>'}
var app = new Vue({
el :'#app' ,
components: (
'my-component':Child
})
</script>
使用is直接挂载组件
比如动态组件
<component v-bind:is="currentComponent"></component>
数据传递
监听组件自定义事件
监听组件原生事件 native
子组件向父组件回传
$emit()方法的第一个参数是自定义事件名称