首页 > 其他分享 >Vue — 监听器(watch)使用

Vue — 监听器(watch)使用

时间:2024-03-09 15:44:38浏览次数:29  
标签:Vue watch 监听器 监视 数据 newValue 属性

在 Vue.js 中,watch 选项用于监视数据的变化,并在数据变化时执行相应的操作。watch 可以监视一个或多个数据的变化,当被监视的数据发生变化时,可以触发预定义的回调函数。

一、简单写法

   <textarea name="" id="" cols="30" rows="10" v-model="word"></textarea>
   watch : {
            word (newValue,oldValue){
                console.log(newValue,oldValue)
            },
    }    

在上面的例子中,我们定义了一个名为 word 的数据属性,并使用 watch 选项来监视它的变化。当 word 的值发生变化时,会触发相应的回调函数,并传入新值 newValue 和旧值 oldValue

 

 <textarea name="" id="" cols="30" rows="10" v-model="obj.name" readonly></textarea>
 watch : {
            'obj.name'(newValue){
                console.log(newValue)
            },
 }     

 

除了监视单个数据属性外,Vue 的 watch 选项还支持监视一个对象内部属性的变化,甚至是深层嵌套的属性

二、完整写法

watch : {
            obj:{
                deep : true, //深度监视
                immediate : true, //进入页面立刻执行
                handler (newValue){ //修改后的数据
                    console.log(newValue)
                }
            }
      }

在上面的示例中,当 obj 对象的任何属性发生变化时(包括嵌套的对象属性),都会触发 handler 回调函数,并且在页面加载时会立即执行一次回调函数,打印出修改后的数据。

这样的设置能够确保对对象的任何变化都能被及时监测到,并且在页面加载时立即执行一次回调函数,以确保对初始数据的处理。

需要注意的是,深度监视虽然可以监视对象内部属性的变化,但也会带来一定的性能开销,因此在使用深度监视时需要权衡是否真正需要对所有嵌套属性进行监视。

标签:Vue,watch,监听器,监视,数据,newValue,属性
From: https://www.cnblogs.com/qinlinkun/p/18062791

相关文章

  • Vue — 计算属性(computed)详解
    Vue.js中的计算属性是基于它的响应式系统来实现的,它可以根据Vue实例的数据状态来动态计算出新的属性值。在Vue组件中,计算属性常用于对数据进行处理和转换,以及动态生成一些需要的数据。一、使用方式1.定义计算属性: 在Vue组件中,通过在 computed 对象中定义计算属性名称及......
  • 好细的Vue安装与配置
    一、下载和安装Vue官网下载地址Download|Node.js 选择适合自己的版本,推荐LTS,长久稳定版本。 我这里选择的是WindowsInstaller(.msi)64-bit下载好后,双击下载的安装包。 点next  勾选Iaccept............,点next   这里建议更改为自己想要的的安装目录,......
  • 【vue3】学习对store中数据的使用
    src/store/modules/nav.jsimport{defineStore}from'pinia';import{handleTree}from'@/utils/ruoyi'import{list}from"@/api/nav/node";conststore=defineStore( 'nav', { state:()=>({ nodeList:[]......
  • 【前端Vue】社交信息头条项目完整笔记第1篇:一、项目初始化【附代码文档】
    社交媒体-信息头条项目完整开发笔记完整教程(附代码资料)主要内容讲述:一、项目初始化使用VueCLI创建项目,加入Git版本管理,调整初始目录结构,导入图标素材。二、登录注册准备,实现基本登录功能,登录状态提示,表单验证。三、个人中心,四、首页—文章列表TabBar处理,页面布局,处......
  • vue面试1
    生命周期函数(父子)顺序父beforeCreate =>.父created==>.父beforeMount==>子beforeCreate==> 子created==> 子beforeMount==> 子mounted==>父mounted更新顺序父beforeUpdate==>子beforeUpdate==>子updated==>父updated卸载顺序父beforeDestory/子before......
  • Vue3 组合函数拖拽
    代码exportfunctionuseDragMouse(dom,container){letcontainerX=0;letcontainerY=0;letstartX=0;letstartY=0;functiondragPage(e){container.value.style.left=e.pageX-startX+containerX+"px";container.valu......
  • 用Vue3.0 写过组件吗?如果想实现一个 Modal你会怎么设计?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、组件设计组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式现在有一个场景,点击新增与编辑都弹框出来进行填写,功能上大同小异,可能只是标题内容或者是显示的主体内容稍微不同这时候......
  • C++ Qt开发:QFileSystemWatcher文件监视组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QFileSystemWatcher组件实现对文件或目录的监视功能。QFileSystemWatcher是Qt框架中......
  • vue常量定义以及使用
    在Vue项目中,您可以在JS文件中定义常量,然后通过 Vue.prototype 在 main.js 中定义这些常量为全局变量,以便在Vue组件中直接使用。以下是如何实现这一点的步骤:定义常量首先,创建一个JS文件来定义您的常量。例如,您可以创建一个名为 constants.js 的文件,并在其中定义......
  • Vue面试题
    1、active-class是哪个组件的属性?嵌套路由怎么定义?答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数?答:在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id 3、vue-router有哪几种导航钩子? ......