计算属性computed

计算属性 computed

computed(多个值变化,影响到一个结果) 属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。他是函数主要当作属性来使用,逻辑简单。

computed是属性调用,而methods是函数调用
computed带有缓存功能,而methods不是
computed可以监控对象,而methods不是

computed:{//前面的数值变化影响到结果---》get
			'fullname':function(){
					return this.firstname+this.lastname;
			}
				fullname(){
					return this.firstname+this.lastname;
				}
			}
       

       fullname:{ //双向数值修改(前面变化影响到后面,后面变化影响到前面)  get+set
					get:function(){
						return this.firstname+"-"+this.lastname;
					},
					set:function(newval){
						//console.log(newval);
						var arr=newval.split('-');
						//console.log(arr);
						this.firstname=arr[0];
						this.lastname=arr[1];
					}
				}

监视属性 watch

watch(一个值变化,影响到多个结果改变)一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听某些特定数据的变化(watch监控路由对象‘$route’),从而进行某些具体的业务逻辑操作;可以看作是computedmethods的结合体;

watch可以监控对象,而methods不是

Watch:{
            'obj':{
						handler(newval){
							console.log(newval);
						},
						deep:true,
						immediate: true
					}
}

watch和computed均可以监控程序员想要监控的对象,
当这些对象发生改变之后,可以触发回调函数做一些逻辑处理

watch监控自身属性变化(重新编译,性能差)
watch监控路由对象(一个值变化,影响到多个结果改变)
数据变化时来执行异步操作,这时watch是非常有用的。

计算属性computed的特点(多个值变化,影响到一个结果)
计算属性会依赖于他使用的data中的属性,只要是依赖的属性值有改变,则自动重新调用一下计算属性;如果他所依赖的这些属性值没有发生改变,那么计算属性的值是从缓存中来的,而不是重新编译,那么性能要高一些,所以vue中尽可能使用computed替代watch

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值