位置: 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)

  • 外地预缴的附加税怎么算
  • 商业汇票申请贴现分录
  • 母公司合并子公司会计处理
  • 营业额和营业收入区别举例
  • 没有报关单可以结汇吗
  • 金蝶专业版二级科目设置
  • 制造费用明细账实例图
  • 销售无形资产收款通过第三方平台能少交税吗
  • 佣金支出和手续费税前扣除相关政策依据及会计处理
  • 当月确认收入下月开票
  • 存款取款业务记入那个日记账?
  • 企业个人所得税申报系统官网
  • 发票一直报送中,开不了发票
  • 制冷设备增值税税率
  • 餐饮装修费用计入什么科目
  • 一个月无纳税凭证怎么处理
  • 联营企业发生亏损怎么处理
  • 环境保护税交给谁
  • 支付现金未给发票怎么做账?
  • 研发支出的二级科目是什么
  • 接管财务要对接哪些内容?
  • 与权益法核算相关的累计净损益
  • 查找我的iphone怎么添加设备
  • profiler.exe - profiler是什么进程 有什么用
  • 鸿蒙系统开发人员选项
  • 如何关闭windowsdefender防病毒
  • 装修公司开专票要交几个点
  • 投标保证金利息怎么做账
  • 房屋租赁合同变更
  • 笔记本开机黑屏不显示任何东西
  • php数组函数实现机选双色球
  • php字符串赋值
  • linux-base
  • 篱笆的样子
  • 投影仪属于固定资产哪一类
  • php 输出
  • 微信h5页面设计
  • 使用二氧化碳灭火器时人应该站在什么位置
  • vue-router导航守卫
  • 为什么我会选择那个对我一般的男人结婚
  • 报关单在哪里打出来
  • phpcms rce
  • 个人所得税申报方式选哪个比较好
  • nosql sql
  • 织梦开发教程
  • 负债类账户期末余额在借方还是贷方
  • mysql怎么使用表
  • 小规模增值税纳税人税率
  • 政府补助怎么判断总额法还是净额法
  • 跆拳道馆薪酬详细方案
  • 企业出售自用车辆的会计处理
  • 现金日记账年结怎么做
  • 营业利润为负数表示什么
  • 超市小票能作为证据用吗
  • 不得从销项税额中抵扣的进项税额,不得计提加计抵减额
  • 个人独资企业核定征收取消了吗
  • 哪些资产减值可以转回哪些不可转回
  • MySQL5.7中 performance和sys schema中的监控参数解释(推荐)
  • xp系统怎样创建网络连接
  • 操作系统与硬件之间的关系
  • win10连接ubuntu20.04远程桌面
  • avc用什么打开
  • mac文件怎么用
  • win10搜索设置选项
  • javascript之Array 数组对象详解
  • java中初始化顺序
  • cocos onload
  • android解析xml的方法中,将整个文件加载到内存
  • Python中urllib+urllib2+cookielib模块编写爬虫实战
  • python3.8.3怎么用
  • NGUI之UILocalize
  • jquery 滑动显示
  • Python调用大漠插件
  • android studio绑定按钮
  • 安徽省马鞍山地区代码
  • 特许权使用费包括哪些内容
  • 税控系统减免税报表里
  • 中药生产与加工和中药制药技术区别
  • 实收资本印花税税率多少
  • 普通发票和增值税普票有啥区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设