| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> Vue watch 使用方法详解,及路由监听 -> 正文阅读 |
|
[JavaScript知识库]Vue watch 使用方法详解,及路由监听 |
Vue 中可以通过 watch 自定义侦听器,来响应数据的变化,支持对 data,props,computed 中的数据进行监听。 基本用法基本类型监听
以上代码中,对于 age 的监听,是 es6 的写法。 注意:不应该使用箭头函数来定义 watcher 函数?。官网解释如下: 数组和对象的监听数组:
以上代码,当 changeData1 触发时,可以触发 list 的监听回调函数,而 changeData2 触发时,不会触发 list 的监听回调函数。 changeData1 和 changeData2 的区别:
如果想要数组元素改变也触发监听回调函数,只有函数显然不支持。这时需要使用对象,添加 deep 配置。
对象: 对象和数组类似。
changeData3 可以触发object 监听回调函数,changeData4 不可以触发。如果 changeData4 也想触发,也需要使用对象形式:
对于上边的 object ,如果只想监听 object 中的 name ,对于其他数据并不关心。可以采用如下写法:
路由的监听
对于路由的监听,需要注意的是,并不是所有组件中的路由监听都会触发。 情景一: path:'/index/a',对应组件a,path:'/index/b',对应组件b。在 a 组件和 b 组件中对于路由的监听,不会触发。 原因:个人认为是,路由切换,组件渲染,在组件渲染的时候,路由的变化已经完成了,故监听不到路由的变化。 情景二: path:'/index/a' 对应组件A,path:'/index/b',对应组件B。A组件中有router-view,A组件对应的路由中有嵌套路由 path:'/index/a/c' 和 path:'/index/a/d'。在组件A中可以监听到 c -> d,d -> c 的路由变化,但是对于 a ,b 之间的路由变化则监听不到。 情景三: 有一个公共组件 ls-header ,无论页面如何变化,该组件,一直显示在页面顶部。ls-eader 中可以监听到所有路由的变化。 值的四种形式watch 方法对应一个对象,键是观察表达式,值是对应回调。 { [key: string]: string | Function | Object | Array } 值的类型可以是:字符串,函数,对象和数组。
参数配置当 watch 的值为对象时,支持一些参数配置。
当 watch 中多个回调被触发时,执行的顺序为书写的顺序。
以上代码,当 age,name,isSpirit 都有变化时,watch 的执行顺序: 如果想要 isSpirit 的回调先执行,可以设置 sync: true
修改之后,watch 执行顺序: 如果有多个都添加了 sync: true,依然按照书写顺序执行。如上,如果 age 和 isSpirit 都设置 sync: true,watch 执行顺序: ? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/28 11:58:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |