定义组件:
Vue.component('navbar',{
template `<diiv></div> `}
)
组件是孤岛,无法直接访问外面的组件的状态或者方法
在组件里data必须是函数写法 data(){}
全局:Vue.component('navchild',{
<div></div>
全局的组件可以调用过来直接复用,局部里的组件不能拿过来复用,因为是私有的
局部:compoents:{}
父传子:1.props:['mytitle'] 接收父组件传来的属性
2.属性验证
3.设置默认值
子传父:需要再子组件身上监听事件,等子组件通过this.$emit触发事件
ref:
ref放在标签上,拿到的是原生节点
ref放在组件上,拿到的是组件对象,通信功能
bus:var bus = new Vue()
子件传到父件里,bus相当于代表中间件,
再由bus传到给父传子。
v-model:
v-once:模板就不会再继续更新了,一套静态DOM
动态组件:
切换div,原先里的input仍然显示,keep-alive保持活着
solt:插槽
可以保留<child>
<div>1111</div>
</child>里的内容,
插槽命名
插槽新写法