vue-watch监听的方法
在vue中,很多时候需要实时了解数据的变化执行相应的操作,通过watch监听能实现相应需求。
< div > < p >inputOne: < input type="text" v-model="value1"></ p > < p >inputTwo: < input type="text" v-model="valueObj.value2"></ p > </ div > |
1、注册watch
export default { name: 'demo', watch: { value1(newVlue, oldValue) { this.value = newValue + 'bbb' console.log(this.value) } }, data() { return { value: 'aaa', value1:'', valueObj: { value2: '', } } } } |
在inputOne输入123后,监听到value1的改变,打印出value的值:123bbb
2、handler方法
watch中需要具体执行的方法,监听数组或对象的属性时用到的方法
watch: { value1:{ handler(newVal,oldVal){ this.value = newVal + 'ccc' }, immediate:true } }, |
3、immediate属性
在选项参数中指定 immediate: true 将立即以表达式的当前值触发回调,默认为false
4、deep属性
监听对象或对象中的属性,需要使用deep,即深度监听。
在对象中层层遍历,并在监听对象上的每一个属性上都添加监听,当然这样也会损耗性能
watch: { valueObj:{ handler(newVal,oldVal){ this.value = newVal + ddd' }, deep:true } }, 或者:直接监听属性,避免给所有属性监听而损耗性能。 watch: { 'valueObj.value2':{ handler(newVal,oldVal){ this.value = newVal + 'eee' }, immediate: true, deep:true } }, |
5、watch监听路由
watch: { '$route'(to,from){ console.log(to); //to表示去往的界面 console.log(from); //from表示来自于哪个界面 if(to.path=="/home"){ console.log("路由跳转home"); } } }, |
分类:
前端 / Vue
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律