首页 > 其他分享 >vue-监视属性

vue-监视属性

时间:2022-11-07 14:45:44浏览次数:40  
标签:Info vue watch oldValue 监视 newValue 属性

文本转自于:https://blog.csdn.net/weixin_46376652/article/details/125689307 作者:frontEndSmallWhite

 

一、两种监视方式

1、watch属性直接监视

如果刚开始确定监视对象,在vue中可以直接使用watch属性实现监视

 

watch:{
            //正常写法
            Info:{
                immediate:true,
                handler(newValue,oldValue){
                    console.log("Info被修改了,原来的天气是",oldValue,",现在的天气是",newValue)
                }
            }
 
            //简写形式
            // Info(newValue,oldValue){
            //     console.log("Info被修改了,原来的天气是",oldValue,",现在的天气是",newValue)
            // }
}

 

handler函数


监视属性中的函数,能够通过获取newValue和oldValue的值,进行监视到属性改变后的一些操作;

 

接收两个参数:

 

newValue:表示新的值

oldValue:表示改变前的值

 

immediate属性:实现初始化的时候调用一次监视函数handler,默认为false

2、vm.$watch

如果刚开始不确定监视的对象,就可以后续再使用这个实现监视 

 

//另一种写法,在vm外使用$调用
vm.$watch("Info",{
        handler(newValue,oldValue){
            console.log("Info被修改了,原来的天气是",oldValue,",现在的天气是",newValue)
        }
})

二、深度监视


watch默认监视单层属性的改变,想实现监测多层结构需要使用deep属性

监视多级结构中某个属性的变化


watch:{ "numbers.a":{ ... } } //numbers是data上的一个key,里面包含a

注意:本来所监视的属性都是字符串,需要带双引号,只不过单层的省略了双引号

 

deep属性

用于开启深度监视,多级结构中任何一个属性值发生变化,都能够检测到(内部的改变也能够通过外部监测到),监视多级结构中所有属性的变化

watch:{
            'numbers.a':{
                handler(){
                    console.log("numbers中的a改变了")
                }
            },
            numbers:{
                // 开启深度监视
                deep:true,
                handler(){
                    console.log("numbers改变")
                }
            }
}

 

三、监视属性的简写形式

与计算属性类似,当不需要使用其他属性只使用handler属性时,可以使用简写形式

//简写形式
Info(newValue,oldValue){
     console.log("Info被修改了,原来的天气是",oldValue,",现在的天气是",newValue)
}

 

标签:Info,vue,watch,oldValue,监视,newValue,属性
From: https://www.cnblogs.com/ZhuAo/p/16865903.html

相关文章

  • 谈谈vue面试那些题
    Vue组件data为什么必须是个函数?根实例对象data可以是对象也可以是函数(根实例是单例),不会产生数据污染情况组件实例对象data必须为函数一个组件被复用多次的话,也就会创......
  • 如何准备好一场vue面试
    对SSR的理解SSR也就是服务端渲染,也就是将Vue在客户端把标签渲染成HTML的工作放在服务端完成,然后再把html直接返回给客户端SSR的优势:更好的SEO首屏加载速度更快SSR的......
  • 前端vue2项目引入第三方js文件或者远程js文件并执行相应方法
    啥也不多说,直接上结论新建一个目录和文件例如:./tools/load.js //引入远程js,加载完成后执行相应方法functionloadJs(src){returnnewPromise((resolve,reject)=......
  • vue面试之Composition-API响应式包装对象原理
    本文主要分以下两个部分对CompositionAPI的原理进行解读:reactiveAPI原理refAPI原理reactiveAPI原理打开源码可以找到reactive的入口,在composition-api/src/......
  • vite+vue3中使用less
    官网<Less.js用法|Less.js中文文档-Less中文网(bootcss.com)>文章<vite+vue3中配置less-掘金(juejin.cn)><vite+vue3中配置less-博客园>一.vite.co......
  • vue这些原理你都知道吗?(面试版)
    前言在之前面试的时候我自己也经常会遇到一些vue原理的问题,我也总结了下自己的经常的用到的,方便自己学习,今天也给大家分享出来,欢迎大家一起学习交流,有更好的方法......
  • 基于vue-Ant实现图片上传
    引言:上传是将信息(网页、文字、图片、视频等)通过网页或者上传工具发布到远程服务器上的过程。如何使用Ant-design-vue中的a-upload上传组件进行图片或者视频的上传呢?正文:1.......
  • 项目运行npm run dev报错npm ERR! [email protected] dev: `webpack-dev-server --inline --
    目录一、问题描述二、问题原因三、解决方法1.查看vue版本是2.9.62.卸载3.安装4.安装5.正常启动。一、问题描述vue项目运行dev,之前没有问题,但是今天直接报错如下npmER......
  • Ant Design Vue自定义文件上传设置progress进度条
    前言在使用AntDesignVue的upload文件上传功能的时候,我们为了规范前端代码,所以会封装接口请求到对应的ts或js文件并引用,这个时候我们会更多的使用自定义文件上传的功......
  • vue中的key的作用原理
    https://blog.csdn.net/cun_king/article/details/120714227?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-12071422......