Vue生命周期

修改实例上的数据

vm.$set(vm.movie: 'adress', '华联') vm.$set(target, 属性名, 属性值)
Vue.set(targrt, 属性名, 属性值) 这两个都可以给VUE追加自定义数据
this.set(this.movies, 'address', ‘上海’)  (在事件里)
在方法里添加
vm.$set(vm.arr, 0, 'learn')

数组变异方法(改变原数组)

vm.hobby.splice(2, 0, 'qwe')替换
vm.hobb.pop() 删除最后一个
push()
shift()
unshift()
sort()
reverse()

数组不改变原数组(返回一个新数组)

filter()
concat()
slice()

表单修饰符(可以连用)

v-model.trim 去掉前后空格
v-model.lazy 失去焦点
v-model.number  只识别数字

事件修饰符(可连用)

@click.prevent="sub" 阻止浏览器默认行为
.stop  阻止冒泡 
.once 只触发一次
.self 在自身出发

按键修饰符(可连用)

.enter
.tab
.up
.down
.left
.right
例子 @keyup.enter=""

计算属性(用它的值)(有缓存)(没办法传值)

{{reverseStr}}(方法一)属性的调用
conputed: {
    reverseStr() {
        return this.msg.split(''),reverse().join('')
    },
    address: {
        set(){
            要修改原有的属性
        },
        get(){
            return 
        }
    }
}
{{reverseStr}()}  (方法二) 方法的调用 (需要传参时用)
methods: {
    reverseStr() {
        return this.msg.split(''),reverse().join('')
    }
}这个方法比computed性能低,没有缓存

watch {} 监听(一个值影响多个值的时候)

监听data里面的属性改变的时候才会触发
msg(newVal, oldVal) {
    this.rerser(data新定义) = newVal.split(''),reverse().join('')
}

vue生命周期

在使用new Vue()创建一个Vue实例,在vue构造函数内部发生的事情
Vue的三个阶段
1 创建阶段
   1)收集配置项 ,初始化时间   --- beforeCreate()
     此时的this.$el  this.$data   === undefined
   2) 把配置项分配项到实例,但el没有挂载    ------created()
     this.$el == undefined  this.$data可访问到
     (在这个钩子函数中可以请求数据)
     (第一找 如果没有template(模板))第二找如果没有没有el 这个周期是没有的,停留在这个周期 。render优先级最高
   3)beforeMount()  根据模板和数据生成虚拟的dom,存在内存中
   4)mounted() 把内存里面的虚拟dom 替换了模板,有了真实的dom,el挂在完毕(可以操作dom了,比如一进页面获取input的焦点)
2更新阶段(多次触发)
    1)beforeUpdate  数据改变
    2) updated  视图已经改变
3销毁阶段
    1)beforeDestroy()  销毁前
    2) destrooyed()  销毁后

你可能感兴趣的:(Vue生命周期)