关于侦听器

关于侦听器

https://img1.sycdn.imooc.com//climg/616ceb8c09df0d0203430155.jpg

问题描述:

因为添加了侦听器,所以在数据变化的时候会自动执行,

但侦听器里的定时器在五秒后又执行了stop,这样为什么就停下来了呢?

他不会造成死循环吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,不会造成死循环,当执行stop方法后(即取消侦听器),侦听器就会失效,不再监听依赖的改变。此时无论依赖的数据如何变化,都不再执行侦听器中的代码。

祝学习愉快!

  • 柠檬楠 提问者 #1

    https://img1.sycdn.imooc.com//climg/6172852209e9033103840161.jpg

    额,我没理解错的话,第一个stop和延时器里面的stop是同一个方法吧,这不是形成了一个递归吗?stop方法是。。怎么取消掉侦听器的呢?

    2021-10-22 17:36:07
  • 好帮手慕久久 回复 提问者 柠檬楠 #2

    同学你好,两个stop是同一个,但整体不是递归。

    递归是指“函数内部调用函数自身”,我们这里stop是调用watchEffect,得到的返回值(等号右侧是函数调用):

    https://img1.sycdn.imooc.com//climg/61728cf609040c2406810255.jpg

    不满足“函数内部调用函数自身”这种格式,不是递归:

    https://img1.sycdn.imooc.com//climg/61728dad0984bb0107970253.jpg

    祝学习愉快!

    2021-10-22 18:10:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师