当前位置: 首页 > 网络应用技术

谈论vue3中的vatcheffect

时间:2023-03-07 19:58:19 网络应用技术

  它立即执行了引入的函数,同时,它遵循其依赖性并在取决于更改时重新运行该功能。

  换句话说:这等同于合并依赖关系源和回调函数。当您使用的任何响应依赖项您可以使用时,调整功能将被重新执行。不同,回调函数将立即执行(即,)

  本文主要讲述如何使用我们的代码使我们的代码更加优雅?

  什么是副作用()。简而言之,副作用是执行某些操作,例如对外部变量数据或变量的修改,要求外部接口等。回调功能是副作用函数,因为我们使用它来聆听依赖的变化并执行执行某些操作。

  执行副作用功能时,它将不可避免地会对系统产生一些影响。例如,在副作用函数中执行计时器,因此我们必须处理副作用。聆听副作用的功能可以在无效时接收函数作为输入参数,以注册回调。发生以下情况时,此故障回调将被触发:

  上述代码打印的顺序是: - > - >

  分析:初始化期间首先打印的值,然后更新计时器的值。目前,将重新执行副作用。因此,将触发回调函数,打印,然后执行副作用函数和打印值。

  上面的代码:当我们显示执行函数停止聆听时,此时将触发的回调函数将被触发。类似地,当组件卸载时,隐藏的呼叫函数停止了侦听功能,因此回调函数也可以可以被触发。

  我们该怎么做才能使用非INERT执行和入口功能?

  方案1:通常我们定义计时器或收听事件。我们需要在生命周期钩功能中定义或注册,然后删除计时器或在销毁组件之前取消钩子功能中的监视。我们的逻辑分散在两个生命周期中,这不利于维护和阅读。

  如果我使用,共同创建和破坏逻辑,代码更优雅,易于阅读?

  方案2:使用观察效应作为稳定流(例如取消请求)

  ... ... ...

  当然,您可以做很多事情,例如打开修改后的pop -up窗口。如果检测到更改,我们可以重置功能中的初始参数...这只是砖和玉的角色,我希望每个人都能发现它?

  ???????

  相关阅读:Vue3中手表的最佳实践