广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue监听属性图文实例详解
  • 277
分享到

Vue监听属性图文实例详解

2024-04-02 19:04:59 277人浏览 独家记忆
摘要

目录 什么是监听属性?监听属性和计算属性的区别?监听属性的使用深度监听立即调用写在最后 什么是监听属性? ?所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听属

 什么是监听属性?

?所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听属性,意思就是可以监视其他数据的变化。

监听属性和计算属性的区别?

计算属性是依赖的值改变后重新计算结果更新DOM,会进行缓存

属性监听的是属性值,当定义的值发生变化时,执行相对应的函数。

最主要的用途区别:

计算属性不能执行异步任务。计算属性一般不会用来向服务器请求或者执行异步任务,因为耗时可能会比较长,我们的计算属性要实时更新。所以这个异步任务就可以用监听属性来做。

总之一句话:computed能实现的,watch都能实现,computed不能实现的,watch也能实现

监听属性的使用

使用watch配置项,在配置项里面写上要监视的属性,每次属性值的变化都会触发handler函数回调,也可以监视计算属性的变化。

例子:

监视输入框的变化

代码


<template>
<div class="main">
    我:<el-input v-model="name" placeholder="请输入名字"></el-input>
    好友1<el-input v-model="friends.friend_1" placeholder="请输入名字"></el-input>
    好友2<el-input v-model="friends.friend_2" placeholder="请输入名字"></el-input>
</div>
</template>

<script>
export default {
  data(){
    return{
      name:'浪漫主义码农',
      friends:{friend_1:'张三',friend_2:'李四'}
    }
  },
  watch:{
    name:{
      handler(newValue,oldValue){  //newValue 新的值,oldValue变化前的值
        console.log(newValue,oldValue)
        this.friends.friend_1='王五'
      }
    },
    //监视多级结构中某个属性的变化
    'friends.friend_1':{
      handler(newValue,oldValue){
        console.log(newValue,oldValue)
      }
    },
    'friends.friend_2':{
      handler(newValue,oldValue){
        console.log(newValue,oldValue)
      }
    },
  }
};
</script>

深度监听

当我们的对象有多层结构的时候,我们要监听的对象的属性很多,避免一个一个属性单独写,这个时候用到深度监听。

在watch配置中,监视属性对象中,配置deep 设置为 true 用于监听多级对象或者数组内部值的变化


 watch:{
    //监视多级结构中所有属性的变化
    friends:{
      handler(newValue,oldValue){
        console.log(newValue,oldValue,"aa")
      },
      deep:true, //开启深度监听
    }
  }

注意:这里有个问题,深度监听时会出现新旧值相同的现象?

原因:

官方的解释:

在变异(不是替换)对象或数组时,旧值将与新值相同,因为它们的引用指向同一个对象/数组。Vue不会保留变异之前值的副本

就是导致了指针的变化。在我的js深拷贝你还不会吗 文章里讲到数据的存储

立即调用

和deep配置的地方一样。

immediate 设置为 true 将立即以触发当前handler回调


  watch:{
    name:{
      handler(newValue,oldValue){  //newValue 新的值,oldValue变化前的值
        console.log(newValue,oldValue)
        this.friends.friend_1='王五'
      },
      immediate:true
    },
  }

在页面加载的时候就执行了一次,所以旧数据为undefined

写在最后

watch监听属性通常可以用在 数据持久化、派发事件并同步/异步执行,验证格式...

到此这篇关于Vue监听属性的文章就介绍到这了,更多相关Vue监听属性内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue监听属性图文实例详解

本文链接: https://www.lsjlt.com/news/158226.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue监听属性图文实例详解
    目录 什么是监听属性?监听属性和计算属性的区别?监听属性的使用深度监听立即调用写在最后 什么是监听属性? 所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听属性...
    99+
    2022-11-12
  • 详解Vue的监听属性
    目录Vue监听属性什么是监听属性?监听属性和计算属性的区别?监听属性的使用深度监听立即调用总结Vue监听属性 什么是监听属性? 所谓监听就是对内置对象的状态或者属性变化进行监听并且做...
    99+
    2022-11-12
  • UnityInputFiledTMP属性和各种监听示例详解
    目录实践过程Input Field SettingsControl SettingsInputField(TMP)事件监听实践过程 Input Field Settings Fon...
    99+
    2023-01-09
    Unity InputFiled TMP属性监听 Unity InputFiled
  • 关于Vue中的计算属性和监听属性详解
    目录一、computed计算属性(1)计算属性的缓存(2)计算属性的setter二、watch监听属性一、computed计算属性 Vue.js模板内的表达式非常便利,但是设计它们的...
    99+
    2023-05-20
    Vue 计算属性 Vue 监听属性
  • Vue中的 watch监听属性详情
    目录一.watch监听一般数据的变化(数值,字符串,布尔值)1.数值2.字符串3.布尔值二.watch 监听 复杂类型数据的变化1.对象2.数组3.对象数组4.对象数组的属性首先要确...
    99+
    2022-11-12
  • 如何理解Vue的监听属性
    如何理解Vue的监听属性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Vue监听属性什么是监听属性?所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听...
    99+
    2023-06-21
  • Vue之监听方法案例详解
    vue中的监听方法 watch 注意 名字 你想监听哪个属性,就要和他起一样的名字 1.作用 用来监听vue实例中的数据变化 可以随时修改状态的变化 2.触发条件 当你监听的属性...
    99+
    2022-11-12
  • Android监听Home键实例详解
    本文实例讲述了Android监听Home键的方法。分享给大家供大家参考,具体如下: 将到android中Home键的监听,很多人第一反应时重写相应Activity的onKeyD...
    99+
    2022-06-06
    home键 Android
  • vue之监听器的使用案例详解
    第一种,用jquery的ajax发请求  用户注册时,判断用户名不能重复,可以用到监听器。监听器,用watch,需要监听哪个值的变化,就把这个值,放在watch里面。&#...
    99+
    2022-11-12
  • Vue计算属性与监视属性实现方法详解
    目录一、计算属性1、插值语法实现2、通过方法实现3、通过计算属性二、监视属性三、深度监视一、计算属性 在开发中,可以有这样的需求,在属性(date)中,有fistName和lastN...
    99+
    2022-11-13
  • Android 滑动监听的实例详解
    Android 滑动监听的实例详解摘要: ScollBy,ScollTo是对内容的移动,view.ScollyBy是对view的内容的移动 view,ScollTo是对内容的移动(移动到指定位置),view.ScollyBy是对v...
    99+
    2023-05-30
    android 滑动 roi
  • VUE3中watch监听使用实例详解
    目录watch介绍watch监听的不同情况1 监听单个refimpl数据2 监听多个refimpl数据3 监听proxy数据4 监听proxy数据的某个属性5 监听proxy数据的某...
    99+
    2022-11-13
  • Pygame实现监听鼠标示例详解
    目录初始化参数鼠标移动鼠标点击位置输出鼠标位置及其对用的按钮完整代码 pygame如何捕捉鼠标的活动 初始化参数 import pygame, sys from pygame.l...
    99+
    2022-11-12
  • Vue计算属性、事件监听以及条件渲染实例分析
    本文小编为大家详细介绍“Vue计算属性、事件监听以及条件渲染实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue计算属性、事件监听以及条件渲染实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2022-10-19
  • Kafka的监听地址配置实例详解
    有时我们会碰到网络是通畅的,但却连不上Kafka,特别是在多网卡环境或者云环境上很容易出现,这个其实和Kafka的监听配置有关系。本文介绍监听相关的配置,目前监听相关的参数主要有下面...
    99+
    2022-11-13
  • 图文详解Android属性动画
     Android中的动画分为视图动画(View Animation)、属性动画(Property Animation)以及Drawable动画。从Android 3....
    99+
    2022-06-06
    动画 Android
  • JavaFX 监听窗口关闭事件实例详解
    1.写在前面在JavaFX的程序开发的时候,在使用多线程的时候,默认情况下在程序退出的时候,新开的线程依然在后台运行。 在这种情况下,可以监听窗口关闭事件,在里面关闭子线程。2.具体实现的样例package sample;import ja...
    99+
    2023-05-31
    javafx 监听窗口 ava
  • Vue 监视属性之天气案例实现
    目录天气案例实现两个注意事项监视属性深度监视监视的简写形式天气案例实现 <div id="root"> <h2>今天天气很{{info}}</...
    99+
    2022-11-13
  • Ajax 文件上传进度监听之upload.onprogress案例详解
    $.ajax实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset...
    99+
    2022-11-12
  • Android clipChildren属性实例详解
    前言  前几天有在微博上推荐过一个博客,看他文章时发现了这个属性。有些属性不常用,但需要的时候非常有用,于是做了个例子,正好项目用到,与大家分享一下。  正...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作