计算属性
计算属性是vue中的一种特殊属性,用于对已有的数据进行计算和衍生,以生成新的数据。计算属性的值是根据依赖的数据动态计算得出的,当依赖的数据发生变化时,计算属性会自动重新计算
计算属性具有的优势:
缓存结果:计算的值会被缓存起来,只有在依赖的数据发生变化时才会重新计算。这样可以避免不必要的重复计算,提高性能。
响应式更新:计算属性会自动追踪依赖的数据,当依赖的数据发生变化时,计算属性会自动重新计算,保持数据的实时性。
简化模板逻辑:通过使用计算属性,可以将复杂的逻辑处理和转换操作放在计算属性中,简化模板中的代码,使模板更加清晰和易读
计算属性的定义方式
在vue2中,计算属性的使用,和data同级
//基础定义方式
//也是默认只有getter的定义方法
computed:{
//计算属性的名称
//在计算属性里声明了,就不可以在data中声明了
propertyName:(){
//逻辑处理
return result //此处返回的值就是propertyName的值了
}
}
完整的创建,内部应该包含了getter和setter的
computed:{
//注意这里时对象
fullName:{
//get是用来返回fullNamed的值的
//第一次读取fullName和依赖的数据发生改变的时候调用
get:function(){
return this.firstName+'-'+this.lastName
},
//这两种函数的写法都是适用于对象里的方法的,此方法可选
//set里是有一个可选参数,参数时fullName修改后的值
//在计算属性被修改时调用
set(newVal){
}
}
}
监听属性
watch是一个用于监听数据变化的功能,它可以在数据发生变化时执行相应的操作。
监听属性的作用实在数据发撒恒变化时,执行一些副作用操作或触发其他逻辑,他可以用于响应数据的变化并进行相应的处理,比如数据的验证,异步操作,触发其它组件的更新等、
监听属性的定义方式
在watch对象中,可以定义多个属性的监听器,每个属性对应一个回调函数。当被监听的属性改变时,vue会自动调用对应的回调函数,并传递新值和旧值作为参数
watch:{
//被监听的属性名
//第一个参数是薪值,第二个参数是原来的值
propertyName(newVal,oldVal){
//在属性变化时执行的逻辑操作
deep:true , //深度监视
immediate: true //立即监视 立即执行一次
}
}
监听属性和计算属性的区别
computed属性的结果会被缓存,除非以来的响应式苏醒变化才会重新计算。主要当作属性来使用,使用的时候不加();
watch一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听默写特定数据的变化,从而进行某些特定数据的变化,从而进行某些具体的业务逻辑操作。