watch 与 computed的区别
看了一堆人说的话,我说一个通俗易懂的用法
watch: {
firstName: function (val) {
this.fullName = val + ' ' + this.lastName
}
}
当firstName值发生变化时,变化后的值作为val传入函数中,然后函数重新给 fullName赋值。等于fullName基于firstName的变化而变化
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
这里要注意,fullName不能在data中定义,两个函数实现的功能一样,但是computed这个里面firstName与lastName任意一个变化,fullName也会变化,但是watch中firstName变化才会让fullName变化。
其实最好的方法就是自己写几个变量,然后分别watch与computed一下,然后就明白了,笔者也是看别人说的一脸懵逼,自己试了才发现的。
vue生命周期
beforeCreate 初始化之后
created 创建完成
beforeMount 挂载之前
mounted 被创建
beforeUpdate 数据更新前
updated 被更新后
beforeDestroy 销毁之前
destroyed 销毁之后