vue05

vue2.0变化

在每个组件模板,不在支持片段代码

    之前:
        
    现在:  必须有根元素,包裹住所有的代码
        

关于组件定义

Vue.extend 这种方式,在2.0里面有,但是有一些改动,这种写法,即使能用,咱也不用——废弃

    Vue.component(组件名称,{    在2.0继续能用
        data(){}
        methods:{}
        template:
    });

2.0推出一个组件,简洁定义方式:

    var Home={
        template:''     相当于->   Vue.extend()
    };

生命周期

之前:
    init    
    created
    beforeCompile
    compiled
    ready       √   ->     mounted
    beforeDestroy   
    destroyed
现在:
    beforeCreate    组件实例刚刚被创建,属性都没有
    created 实例已经创建完成,属性已经绑定
    beforeMount 模板编译之前
    mounted 模板编译之后,代替之前ready  *
    beforeUpdate    组件更新之前
    updated 组件更新完毕  *
    beforeDestroy   组件销毁前
    destroyed   组件销毁后

循环

2.0里面默认就可以添加重复数据

arr.forEach(function(item,index){

});

去掉了隐式一些变量
    $index  $key

之前:
    v-for="(index,val) in array track-by="$index""
现在:
    v-for="(val,index) in array :key="index""提升性能

自定义键盘指令

之前:Vue.directive('on').keyCodes.f1=17;  

现在:  Vue.config.keyCodes.ctrl=17

过滤器

删除内置过滤器,自己实现
debounce 废弃,用lodash 工具库_.debouch(fn,2000)
自定义过滤器——还有
但是,自定义过滤器传参

    之前: {{msg | toDou '12' '5'}}
    现在:     {{msg | toDou('12','5')}}

组件通信:

vm.$emit()和vm.$on();

父组件和子组件:

  • 子组件想要拿到父组件数据:通过props
  • 父组件想要拿到子组件数据:
    • 之前子组件可以更改父组件信息,可以是同步设置 :msg.sync='a'

    • 不允许直接给父级的数据,做赋值操作

      a). 父组件每次传一个对象给子组件, 对象之间引用 :msg='giveData' 然后接受过来得到giveData对象
      然后在子组件里直接该msg的属性就可以了
      b). 只是不报错, mounted中转

单一事件管理组件通信

var Event=new Vue();

某个组件的方法里实现:Event.$emit(事件名称, 数据)

另一个组件里Event.$on(事件名称,function(data){
    //data
}.bind(this));或者备份this

你可能感兴趣的:(vue05)