请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,watch,computed 分别在什么情况下使用?

如题,老师,请问什么时候应该用watch(),什么时候应该用 computed() 呀?
谢谢老师的解答!!!

正在回答

1回答

场景不一样,computed是要计算某一个值,它的值可能受其它一个值或多个值的影响。watch是说当一个值发生变化时,我们该做些什么。

可以用“一”和“多”来理解,computed就是当一个或多个值发生变化时,会影响目标值;watch是当目标值发生变化时,可以做一件或多件事情,这里的事情可以是简单的赋值,也可以是往后端发一个请求

0 回复 有任何疑惑可以回复我~
  • 提问者 慕神4535282 #1
    1. 老师您说的这段话:“computed就是当一个或多个值发生变化时,会影响目标值;watch是当目标值发生变化时,可以做一件或多件事情,这里的事情可以是简单的赋值,也可以是往后端发一个请求”,我的理解是:它俩的应用场景没啥大的区别呀, watch 的应用场景比computed 大,凡是用 computed 的地方都可以用 watch 代替。
    2.  "computed就是当一个或多个值发生变化时,会影响目标值;watch是当目标值发生变化时,可以做一件或多件事情" , 老师,请问一下,为什么要分两步走呀,又要用 computed,又要用 watch,还引入了目标值。直拉一步到位不行吗?直接在 watch 中监测 一个或多个值发生变化时,就做一件或多件事情,这样不是更简单一些吗?在order.vue中,不可以把目标值 SEAT_COL_ARRAY  和 computed() 去掉只用 watch()就实现功能吗?
    谢谢老师的解答!!!
    回复 有任何疑惑可以回复我~ 2024-05-29 16:40:45
  • 甲蛙 回复 提问者 慕神4535282 #2
    1. 看业务场景,如果两个都能实现,二选一即可。
    2. watch只能监听一个值。比如有5个值发生变化都会影响A值,用watch要写5个,用computed只要写一个
    回复 有任何疑惑可以回复我~ 2024-06-01 19:26:01
  • 提问者 慕神4535282 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2024-06-14 10:50:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信