组件(页面上的每一个部分都是组件)
1.三部分:结构(template),样式(style),逻辑(script)
2.组件的作用:复用
3.模块包含组件
4.组件创建:
    1.全局组件:Vue.component();
    2.局部组件:components();
        参数1:组件的名称
        参数2:组件的配置项
*组件的配置项:
    1.new Vue这个里面有什么参数,那么组件的配置项中就有什么参数,包含生命周期
    2.组件内部多了一个属性template
    3.组件内部的data不在是一个对象,而是一个函数
组件的使用:
    1.直接将组件的名称当做标签使用即可
    2.组件名称首字母必须大写
5.脚手架的使用
    1.安装:
        3.0 cnpm install @vue/cli -g
        2.9.3 cnpm install vue-cli -g
    2.创建项目
        3.0 vue create <项目名称>
        2.9.3 vue init webpack <项目名称>
6..组件间的传值(组件之间的通讯)
    一.父子通信
    1.父传子
       传递:当子组件在父组件当做标签使用的时候,通过给子组件绑定一个自定义属性,值为需要传递的数据
        接收:在子组件内部通过props进行接收
            接收方式有两种:
                1.一种是数组接收,2.另一种是对象接收
                一般情况下我们都使用对象进行接收,因为对象接收可以校验数据的类型
eg:
props:["val"];
props:{
    val:String//当这个是number的时候,就会有警告
}
    2.子传父
        (1)传递:当子组件给父组件传递数据的时候,通过调用父组件给子组件绑定的自定义事件,然后将传递过去
        接收:父组件通过自定义事件的函数来接收子组件传递过来的数据(注意这个自定义方法的函数在绑定的时候不需要加())
        (2)作用域插槽
    二、 非父子
        1.在vue的原型身上添加一个公共的vue实例,组件之间调用这个公共的实例的$on and $emit来传递数据,传递的一方调用$emit,接收的一方用$on;
        2.手动封装$on $emit $off(原理应用了观察者模式)
        3.EventBus
        4.vuex
 
posted on 2019-03-20 20:46  一只小小媛  阅读(798)  评论(0编辑  收藏  举报