computed计算属性的两个方法get()、set()

5 篇文章 0 订阅

 先来看看我写这个功能的报错

这啥意思,英语很差,看不懂。没事我有百度翻译,有请我的翻译

 

有这么一道题,实现单选、全选的功能(购物车单选,全选),思路就是点击全选,上面的都高亮,再点全灭。上面的单选全亮,下面的额全选按钮也得高亮

答题时,我使用的是计算属性做的,发现全选反选时上面的每个商品不亮,最后也还是没做出来,于是晚上回头又在看这个问题,发现他报一个错,说是没有setter,然后我就上网了解到,计算属性有俩个回调函数get和set

get():当需要读取当前属性值时调用,根据相关的数据计算并返回当前属性的值(取值时调用)

set():监视当前属性值发生改变时调用,更新相关的属性值(重新赋值时调用)

 正如我下面写的,如果你想修改这个allStatus全选的话,就得使用computed里边的set()方法,这个v是get()返回出去的值,可以用这个值进行set()设置allStatus全选

		computed:{
			allStatus:{
				//得到
				get(){
					return this.list.every((it,idx)=>it.status)
				},
				//设置
				set(v){
					console.log(v);
					this.list.forEach((it=>it.status = v))
				}
			}
		},

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值