位置: IT常识 - 正文

VUE3 数据的侦听(vue3当中如何监听新增的属性)

编辑:rootadmin
VUE3 数据的侦听

推荐整理分享VUE3 数据的侦听(vue3当中如何监听新增的属性),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3监听数组,vue3监听,vue监听数据变化的事件怎么写,vue侦听属性,vue数据监听原理,vue3监听数组,vue数据监听原理,vue数据监听原理,内容如对您有帮助,希望把文章链接给更多的朋友!

侦听数据变化也是组件里的一项重要工作,比如侦听路由变化、侦听参数变化等等。

Vue 3 在保留原来的 watch 功能之外,还新增了一个 watchEffect 帮助更简单的进行侦听。

watch 在 Vue 3 ,新版的 watch 和 Vue 2 的旧版写法对比,在使用方式上变化非常大! 回顾 Vue 2 在 Vue 2 是这样用的,和 data 、 methods 都在同级配置:

export default { data() { return { // ... } }, // 注意这里,放在 `data` 、 `methods` 同个级别 watch: { // ... }, methods: { // ... },}VUE3 数据的侦听(vue3当中如何监听新增的属性)

并且类型繁多,选项式 API 的类型如下:

watch: { [key: string]: string | Function | Object | Array}

联合类型过多,意味着用法复杂,下面是个很好的例子,虽然出自 官网 的用法介绍,但过于繁多的用法也反映出来对初学者不太友好,初次接触可能会觉得一头雾水:

export default { data() { return { a: 1, b: 2, c: { d: 4, }, e: 5, f: 6, } }, watch: { // 侦听顶级 Property a(val, oldVal) { console.log(`new: ${val}, old: ${oldVal}`) }, // 字符串方法名 b: 'someMethod', // 该回调会在任何被侦听的对象的 Property 改变时被调用,不论其被嵌套多深 c: { handler(val, oldVal) { console.log('c changed') }, deep: true, }, // 侦听单个嵌套 Property 'c.d': function (val, oldVal) { // do something }, // 该回调将会在侦听开始之后被立即调用 e: { handler(val, oldVal) { console.log('e changed') }, immediate: true, }, // 可以传入回调数组,它们会被逐一调用 f: [ 'handle1', function handle2(val, oldVal) { console.log('handle2 triggered') }, { handler: function handle3(val, oldVal) { console.log('handle3 triggered') }, /* ... */ }, ], }, methods: { someMethod() { console.log('b changed') }, handle1() { console.log('handle 1 triggered') }, },}

当然肯定也会有开发者会觉得这样选择多是个好事,选择适合自己的就好,但笔者还是认为这种写法对于初学者来说不是那么友好,有些过于复杂化,如果一个用法可以适应各种各样的场景,岂不是更妙?

TIP另外需要注意的是,不能使用箭头函数来定义 Watcher 函数 (例如 searchQuery: newValue => this.updateAutocomplete(newValue) )。因为箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向组件实例, this.updateAutocomplete 将是 undefined 。

Vue 2 也可以通过 this.$watch() 这个 API 的用法来实现对某个数据的侦听,它接受三个参数: source 、 callback 和 options 。

export default { data() { return { a: 1, } }, // 生命周期钩子 mounted() { this.$watch('a', (newVal, oldVal) => { // ... }) },}

由于 this.$watch 的用法和 Vue 3 比较接近,所以这里不做过多的回顾,请直接看 了解 Vue 3 部分。

了解 Vue 3 在 Vue 3 的组合式 API 写法, watch 是一个可以接受 3 个参数的函数(保留了 Vue 2 的 this.$watch 这种用法),在使用层面上简单了很多。

import { watch } from 'vue'// 一个用法走天下watch( source, // 必传,要侦听的数据源 callback // 必传,侦听到变化后要执行的回调函数 // options // 可选,一些侦听选项)

下面的内容都基于 Vue 3 的组合式 API 用法展开讲解。 API 的 TS 类型 在了解用法之前,先对它的 TS 类型

本文链接地址:https://www.jiuchutong.com/zhishi/298857.html 转载请保留说明!

上一篇:【前端修炼之路】第一话 · 初识前端领域(前端高手进阶)

下一篇:css深度选择器deep(css选择器nth)

  • 微信如何授权抖音登录(微信如何授权抖音绑定微信)

    微信如何授权抖音登录(微信如何授权抖音绑定微信)

  • ppt背景音乐怎么设置(ppt背景音乐怎么关)

    ppt背景音乐怎么设置(ppt背景音乐怎么关)

  • ipad2021多少毫安电池(ipad多少毫安电池)

    ipad2021多少毫安电池(ipad多少毫安电池)

  • 支付宝语音提示怎么设置(支付宝语音提示收款)

    支付宝语音提示怎么设置(支付宝语音提示收款)

  • vivo手机怎么进入工程模式(vivo手机怎么进入隐私空间)

    vivo手机怎么进入工程模式(vivo手机怎么进入隐私空间)

  • DS是什么意思啊(ds是什么意思啊计算机)

    DS是什么意思啊(ds是什么意思啊计算机)

  • 小米怎么调成老人模式(小米怎么调成老年模式)

    小米怎么调成老人模式(小米怎么调成老年模式)

  • 网易云关注的人没了(网易云关注的人不见了)

    网易云关注的人没了(网易云关注的人不见了)

  • 拼多多素材模板是什么意思(拼多多素材模板在哪里找)

    拼多多素材模板是什么意思(拼多多素材模板在哪里找)

  • 手机息屏后打不开(手机黑屏打不通电话)

    手机息屏后打不开(手机黑屏打不通电话)

  • 强行换行用什么键(强行换行什么意思)

    强行换行用什么键(强行换行什么意思)

  • 拼多多店铺二级限制要多久(拼多多店铺二级处罚不可编辑怎么办)

    拼多多店铺二级限制要多久(拼多多店铺二级处罚不可编辑怎么办)

  • 手机调试模式怎么关闭(手机调试模式怎么取消)

    手机调试模式怎么关闭(手机调试模式怎么取消)

  • 小米录音权限被禁止(小米录音权限开了却说被禁止了)

    小米录音权限被禁止(小米录音权限开了却说被禁止了)

  • 手机快手直播怎么清屏弹幕(手机快手直播怎么投屏到电视上)

    手机快手直播怎么清屏弹幕(手机快手直播怎么投屏到电视上)

  • r17怎么录屏(r17怎么录制视频)

    r17怎么录屏(r17怎么录制视频)

  • it外包公司是什么意思(it外包好不好)

    it外包公司是什么意思(it外包好不好)

  • 就寝闹钟为什么不能删除(就寝闹钟为什么删不了)

    就寝闹钟为什么不能删除(就寝闹钟为什么删不了)

  • 华为地图什么时候上线(华为地图什么时候可以下载)

    华为地图什么时候上线(华为地图什么时候可以下载)

  • oppo手机hd怎么关闭(oppo手机hd怎么关掉没有状态栏)

    oppo手机hd怎么关闭(oppo手机hd怎么关掉没有状态栏)

  • 如何删除抖音里的喜欢(如何删除抖音里喜欢的视频作品)

    如何删除抖音里的喜欢(如何删除抖音里喜欢的视频作品)

  • 印度没有总统吗(印度为啥没有总统)

    印度没有总统吗(印度为啥没有总统)

  • 淘宝指的is号是什么(淘宝is号在哪里)

    淘宝指的is号是什么(淘宝is号在哪里)

  • 荣耀手环4怎么拒接电话(荣耀手环4怎么开机)

    荣耀手环4怎么拒接电话(荣耀手环4怎么开机)

  • 拼多多自动续费怎么关(拼多多自动续费多少钱一个月)

    拼多多自动续费怎么关(拼多多自动续费多少钱一个月)

  • 不适合作为数据处理与数据库应用的语言是(不适合作为数据标识的是)

    不适合作为数据处理与数据库应用的语言是(不适合作为数据标识的是)

  • x250笔记本哪一年(x250笔记本哪一年出的)

    x250笔记本哪一年(x250笔记本哪一年出的)

  • 电脑卡慢常见原因分析和处理(电脑卡慢咋办)

    电脑卡慢常见原因分析和处理(电脑卡慢咋办)

  • 个人所得税劳务报酬范围
  • 车船税的免征对象是什么
  • 税务师考哪5门
  • 企业收到股利分红如何缴税
  • 小规模纳税人收到专票后如何处理
  • 行政单位总账科目
  • 固定资产可以不设置残值吗
  • 购入设备发生的运输费计入什么科目
  • 支票去银行怎么进账
  • 销售费用的进项税额转出会计分录
  • 收到发票付款是抹了零头怎么做账
  • 含有增值税的工程项目
  • 所得税汇算清缴账务处理
  • 贴现费用计算公式
  • 打官司赢了再付费叫什么
  • 已认证未付款分录
  • 企业取得租车发票
  • 劳务外包用工单位可以抵扣进项税吗
  • 淘宝企业店铺是工厂直销吗
  • 为什么算除税价不算税金
  • 工会经费按上年工资总额还是本年
  • 承包给对方了,受伤了要赔偿吗
  • 收费公路通行费增值税电子普通发票
  • 进项税额转出是好事还是坏事
  • 劳务费按次500元
  • 企业处理二手车增值税没交,有什么影响
  • 销项负数发票需要抵扣吗
  • 进项税和销项税怎么理解
  • 个人取得的哪些收入属于经营所得
  • 个人借公司款账务处理
  • 进出口免抵退税操作
  • flash设置旋转
  • 系统升级为win11
  • 主营业务收入平均增长率计算例题
  • php字符串函数有哪些
  • Vue3 入门笔记 ---- 利用Element Plus对页面进行布局划分以及实现左侧公共菜单
  • 购入固定资产如何折旧
  • 企业成立多久可以注销
  • 承兑汇票到期超过10天怎么办
  • 未分配利润转增股本要交税吗怎么交
  • 怎么把vue项目跑起来
  • php读取excel文件
  • input输入改变边框颜色
  • pytorch卷积操作
  • smb命令执行
  • python如何在画布上写字
  • 小企业准则季度汇总
  • 个人发票抬头怎么弄
  • 小规模纳税企业在应交增值税明细科目
  • 个人所得缴税租金怎么算
  • 疫情期间提涨薪合适吗
  • 纳税人增值税专用发票票面价税合计最多开多少金额
  • 一般纳税人金税盘280怎么做账
  • 调账的基本方法及要点都有哪些?
  • 自助餐怎么核算成本
  • 股息所得缴纳个税吗
  • 建筑施工企业检查的内容包括什么
  • 高速公路车辆通行卡没还怎么办
  • 疫情期间购买消毒弥雾机的请示
  • 给员工购买的意外险可以税前扣除吗
  • 房地产开发企业资质管理规定
  • 应纳税额与应纳所得额
  • 保险公司的返点能要吗
  • 会计准则应收账款计提坏账
  • 销售怎么写啊
  • mysql密码忘记怎么办
  • Vista下WMC不能播放RMVB解决办法
  • win7英伟达显卡驱动安装失败
  • win7 win8.1
  • 举例说明linux的主要应用领域
  • windows 8.1安装教程
  • win8自带软件哪些可以卸载
  • unity手机游戏开发教程
  • python爬虫框架怎么画
  • Android roboguice 开源框架使用
  • python井字游戏
  • android设计模式书籍
  • libgdx robovm admob IOS SDK的绑定
  • javascript怎么样
  • 陕西省国家税务总局电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设