组件

组件

  组件 (Component) 是 Vue.js 最强大的功能之一
  组件可以扩展 HTML 元素,封装可重用的代

组件注册

  全局注册  

    Vue.component('组件名称', { }) 第1个参数是标签名称,第2个参数是一个选项对象
    全局组件注册后,任何vue实例都可以用

    组件注意事项

      组件参数的data值必须是函数同时这个函数要求返回一个对象
      组件模板必须是单个根元素
      组件模板的内容可以是模板字符串

  局部注册

    只能在当前注册它的vue实例中使用

Vue组件之间传值 

  父组件向子组件传值
    父组件发送的形式是以属性的形式绑定值到子组件身上。
    然后子组件用属性props接收
    在props中使用驼峰形式,模板中需要使用短横线的形式字符串形式的模板中没有这个限制

  子组件向父组件传值

    子组件用 $emit() 触发事件
    $emit() 第一个参数为 自定义的事件名称 第二个参数为需要传递的数据
    父组件用v-on 监听子组件的事件

  兄弟之间的传递

    兄弟之间传递数据需要借助于事件中心,通过事件中心传递数据
      提供事件中心 var hub = new Vue()
    传递数据方,通过一个事件触发hub.$emit(方法名,传递的数据)
    接收数据方,通过mounted(){} 钩子中 触发hub.$on()方法名
    销毁事件 通过hub.$off()方法名销毁之后无法进行传递数据

组件插槽

  组件的最大特性就是复用性,而用好插槽能大大提高组件的可复用能力

  匿名插槽

  具名插槽
    具有名字的插槽
    使用 中的 "name" 属性绑定元素

  作用域插槽
    父组件对子组件加工处理
    既可以复用子组件的slot,又可以使slot内容不一致

posted @ 2020-12-05 22:36  调皮小妮  阅读(154)  评论(0编辑  收藏  举报