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

北京建设官方网站网站不用备案

北京建设官方网站,网站不用备案,seo排名赚官网,怎么在后台设置网站的关键词1.侦听数据源类型 watch 的第一个参数可以是不同形式的“数据源”:它可以是一个 ref (包括计算属性)、一个响应式对象、一个 getter 函数、或多个数据源组成的数组 const x ref(0) const y ref(0)// 单个 ref watch(x, (newX) > {console.log(x is ${newX}) …

1.侦听数据源类型

watch 的第一个参数可以是不同形式的“数据源”:它可以是一个 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}`)
})

2. 在监听响应式对象里的值时,需要提供一个getter函数

const obj = reactive({ count: 0 })// 错误,因为 watch() 得到的参数是一个 number
watch(obj.count, (count) => {console.log(`Count is: ${count}`)
})//正确的
// 提供一个 getter 函数
watch(() => obj.count,(count) => {console.log(`Count is: ${count}`)}
)

3. 深度监听和立即执行

watch(() => state.someObject,(newValue, oldValue) => {// 注意:`newValue` 此处和 `oldValue` 是相等的// *除非* state.someObject 被整个替换了},{ deep: true },
{ immediate: true }
)

4. 一次性侦听器

watch(source,(newValue, oldValue) => {// 当 `source` 变化时,仅触发一次},{ once: true }
)

5. watchEffect()

(1)watch只监听明确了的数据源,只有在数据源变化时触发

(2)watchEffect可以监听所有能访问到的响应式属性

1.使用watch
const todoId = ref(1)
const data = ref(null)watch(todoId,async () => {const response = await fetch(`https://jsonplaceholder.typicode.com/todos/${todoId.value}`)data.value = await response.json()},{ immediate: true }
)2.使用watchEffect
watchEffect(async () => {const response = await fetch(`https://jsonplaceholder.typicode.com/todos/${todoId.value}`)data.value = await response.json()
})这里就会自动追踪 todoId.value 作为依赖,每当 todoId.value 变化时,回调会再次执行

6. 如果在监听一个id值时,会执行异步请求,但是如果在请求完成之前 id 发生了变化怎么办

可以使用onWatcherCleanup() API 来注册一个清理函数,重新调用

但是onWatcherCleanup() 只能在同步执行期间调用

import { watch, onWatcherCleanup } from 'vue'watch(id, (newId) => {const controller = new AbortController()fetch(`/api/${newId}`, { signal: controller.signal }).then(() => {// 回调逻辑})onWatcherCleanup(() => {// 终止过期请求controller.abort()})
})

如果需要在异步时调用,可以使用onCleanup

onCleanup 函数还作为第三个参数传递给侦听器回调,以及 watchEffect 作用函数的第一个参数

watch(id, (newId, oldId, onCleanup) => {// ...onCleanup(() => {// 清理逻辑})
})watchEffect((onCleanup) => {// ...onCleanup(() => {// 清理逻辑})
})

7.回调的触发时机

正常watch会在dom更新之前调用,但是如果当需要根据数据的变化来执行一些依赖于最新DOM状态的操作时,就需要在DOM更新之后调用,就可以使用flush: 'post'

watch(source, callback, {flush: 'post'
})watchEffect(callback, {flush: 'post'
})----------------------------------watchEffect添加flush: 'post'还可以使用下面的写法:
import { watchPostEffect } from 'vue'watchPostEffect(() => {/* 在 Vue 更新后执行 */
})

8.侦听器一般同步使用,特殊情况会异步使用,而在异步使用时,需要手动的停止侦听器.

<script setup>
import { watchEffect } from 'vue'// 它会自动停止
watchEffect(() => {})// ...这个则不会!
setTimeout(() => {watchEffect(() => {})
}, 100)const unwatch = watchEffect(() => {})// ...当该侦听器不再需要时
unwatch()
</script>

http://www.yayakq.cn/news/824583/

相关文章:

  • 忠县网站建设网站干什么的
  • 学校网站建设状况宁波seo网站推广软件
  • 整站多关键词优化化州手机网站建设公司
  • 建站公司网站 discuzwordpress首页随机推荐
  • 如何做qq钓鱼网站办宽带需要多少钱一月
  • 什么是sem云南网站优化哪家好
  • 郑州铭功路网站建设怎么做能让网站收录的快
  • 网站的运行与维护太原建高铁站
  • 建立购物网站旅游网站建设电子商务的困惑
  • 杭州网站推广服务wordpress-5.1
  • 东莞网站如何制作成都网站设计推荐
  • 网站建设资金管理办法太原做网站的公司
  • 图书馆网站建设方案网站容易出现的问题吗
  • 大良制作网站手机应用商店软件
  • 杰奇怎么做网站地图秦皇岛手机网站
  • 南宁网站建设优势免费注册邮箱
  • ecetc商务网站建设工程师网站建设华网天下制作作
  • asp个人网站怎么建设做网站用到哪些软件
  • 怎样做网站的子网免费营销课程培训
  • 深圳 做公司网站人员优化是什么意思
  • 方城网站建设自媒体代运营怎么收费
  • 诸暨做网站公司加强
  • 如何做整人网站wordpress 搜索框位置
  • 卖视频会员个人网站怎么做购物网站推广怎么做
  • 大连建设学院网站做网站被骗怎么办
  • 南开天津网站建设多城市分站站群cms
  • 网站怎么黑广告设计与制作专升本可以报考什么专业
  • 浙江建设局网站wordpress博客 免费
  • 惠州seo排名外包对seo的理解
  • ui设计师怎么做简历网站怎么生成域名做网站