当前位置: 首页 > news >正文

中国建设银行金华分行网站青岛seo外包公司

中国建设银行金华分行网站,青岛seo外包公司,影楼修图用什么软件,腾讯 微商 网站 建设我们都知道监听器的作用是在每次响应式状态发生变化时触发#xff0c;在组合式 API 中#xff0c;我们可以使用 watch()函数和watchEffect()函数, 当你更改了响应式状态#xff0c;它可能会同时触发 Vue 组件更新和侦听器回调。 默认情况下#xff0c;用户创建的侦听器回…我们都知道监听器的作用是在每次响应式状态发生变化时触发在组合式 API 中我们可以使用 watch()函数和watchEffect()函数, 当你更改了响应式状态它可能会同时触发 Vue 组件更新和侦听器回调。 默认情况下用户创建的侦听器回调都会在 Vue 组件更新之前被调用。这意味着你在侦听器回调中访问的 DOM 将是被 Vue 更新之前的状态。 那么我们来看一下怎么才能好好的使用他们呢他们之间又有什么区别呢 watch()函数 watch 需要侦听特定的数据源比如侦听一个 refwatch 的第一个参数可以是不同形式的“数据源”它可以是一个 ref (包括计算属性)、一个响应式对象、一个 getter 函数、或多个数据源组成的数组如下 const x ref(0) const y ref(0)// 单个 ref watch(x, (newX) {console.log(x is ${newX}) })// getter 函数 watch(() x.value y.value,(sum) {console.log(sum of x y is: ${sum})} )// 多个来源组成的数组 watch([x, () y.value], ([newX, newY]) {console.log(x is ${newX} and y is ${newY}) })const obj reactive({ count: 0 }) //传入一个响应式对象 watch(obj, (newValue, oldValue) {// 在嵌套的属性变更时触发// 注意newValue 此处和 oldValue 是相等的// 因为它们是同一个对象 })obj.countwatch(() obj.count,(newValue, oldValue) {// 注意newValue 此处和 oldValue 是相等的// *除非* obj.count 被整个替换了},{ deep: true } )注意你不能直接侦听响应式对象的属性值 const obj reactive({ count: 0 })// 错误因为 watch() 得到的参数是一个 number watch(obj.count, (count) {console.log(count is: ${count}) })这里需要用一个返回该属性的 getter 函数 // 提供一个 getter 函数 watch(() obj.count,(count) {console.log(count is: ${count})} )watch 默认是懒执行的仅当数据源变化时才会执行回调。但在某些场景中我们希望在创建侦听器时立即执行一遍回调。举例来说我们想请求一些初始数据然后在相关状态更改时重新请求数据。 我们可以通过传入 immediate: true 选项来强制侦听器的回调立即执行 watch(source, (newValue, oldValue) {// 立即执行且当 source 改变时再次执行 }, { immediate: true })watchEffect()函数 watchEffect() 允许我们自动跟踪回调的响应式依赖。 const todoId ref(1) const data ref(null)watchEffect(async () {const response await fetch(https://jsonplaceholder.typicode.com/todos/${todoId.value})data.value await response.json() })这个例子中回调会立即执行不需要指定 immediate: true。在执行期间它会自动追踪 todoId.value 作为依赖和计算属性类似。每当 todoId.value 变化时回调会再次执行。有了 watchEffect()我们不再需要明确传递 todoId 作为源值。 watchEffect() 适合有多个依赖项的侦听器对于这种只有一个依赖项的例子来说好处相对较小。此外如果你需要侦听一个嵌套数据结构中的几个属性watchEffect() 可能会比深度侦听器更有效因为它将只跟踪回调中被使用到的属性而不是递归地跟踪所有的属性。 如果想在侦听器回调中能访问被 Vue 更新之后的 DOM你需要指明 flush: ‘post’ 选项 后置刷新的 watchEffect() 有个更方便的别名 watchPostEffect() import { watchPostEffect } from vuewatchPostEffect(() {/* 在 Vue 更新后执行 */ })watch 与 watchEffect之间的联系与区别 watch 和 watchEffect 都能响应式地执行有副作用的回调。它们之间的主要区别是追踪响应式依赖的方式 watch 只追踪明确侦听的数据源。它不会追踪任何在回调中访问到的东西。另外仅在数据源确实改变时才会触发回调。watch 会避免在发生副作用时追踪依赖因此我们能更加精确地控制回调函数的触发时机。 watchEffect则会在副作用发生期间追踪依赖。它会在同步执行过程中自动追踪所有能访问到的响应式属性。这更方便而且代码往往更简洁但有时其响应性依赖关系会不那么明确。适合有多个依赖项的侦听器
http://www.dnsts.com.cn/news/156060.html

相关文章:

  • 广告营销是做什么的百度seo排名推广
  • 嵊州门户网站梭子手做鱼网站
  • 网站qq弹窗中国广播电视总台官网
  • 如何做展示型网站做网站用哪些语言
  • 如何将网站加入百度图 推广长沙官网优化多少钱
  • 金融网站开发文档网站怎么会k
  • 綦江建设银行网站做网站可以不买域名和主机吗
  • 正在运营的网站被注销备案怎么办网页版我的世界
  • 班级网站设计网站密钥怎么做
  • 怎么做自动提卡网站舟山网络科技有限公司
  • 网站规划与设计h5网站怎么做IPv6
  • 如何把做的网站变成链接光谷企业网站建设
  • 怎么做国内网站dedecms 网站还原教程
  • 做网站从哪方面入门网站建站网站496565
  • 服务器对应的网站开发语言公司网站备案具体什么情况
  • 众筹网站怎么做怎么搭建自己的网页
  • 电商网站开发视频2015网站建设源码
  • 网站开发属于知识产权吗网站大图怎么做更吸引客户
  • 高端网站设计 新鸿儒电子商务网站的建设
  • 生鲜农产品网站建设威海建设集团官方网站
  • 全国楼市走势最新消息推广优化排名
  • 天津放心站内优化seo静态wordpress ajax
  • 从化区建设局网站东丽区装饰网站建设
  • 公司要做网站wordpress上下页
  • 社区网站开发进度表阿里云 个人网站 名称
  • 河南网站平台建设公司wordpress文章设置仅会员可见
  • 网站维护与建设合同佛山做网站哪家好
  • 音乐介绍网站怎么做承接网站建设
  • 加强网站建设的建议关键词排名点击软件
  • 网站开发后端工资多少有关维护营销型网站建设的方法