当一条数据影响多条数据的时候就需要用watch eg:搜索数据
data(){ return{ number:01 level:{ res:"second" } } }, watch: { number:function(newone,oldone){//可以监听data的数据 console.log(newone,oldone)//两个参数 } }, //深度监听 watch: { resChange:{ handler(newval,oldval){ console.log(newval,oldval) }, deep:true } } //或者 watch: { level.res:function(newval,oldval){ console.log(newval,oldval) } }当一个属性受多个属性影响的时候就需要用到computed eg: 购物车商品结算的时候
data: { fname: 'Sean', lname: 'Xiao' }, computed: { allname: function () { let all = this.fname + ' ' + this.lname return all } } //get和set的使用 computed: { allname: { get(){ //回调函数,当需要读取当前属性值是计算后的结果,根据相关数据计算并返回当前属性的值 let all = this.fname + ' ' + this.lname return all }, set(val){ //监视当前属性值的变化,当属性值发生变化时执行,更新相关的属性数据 //val就是fullName的最新属性值 const names = val.split(' '); console.log(names) this.fname = names[0]; this.lname = names[1]; } } }