返回顶部
首页 > 资讯 > 精选 >Vue基础中的侦听器是什么
  • 555
分享到

Vue基础中的侦听器是什么

2023-06-21 22:06:36 555人浏览 独家记忆
摘要

Vue基础中的侦听器是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。vue中什么是侦听器开发中我们在data返回的对象中定义了数据,这个数据可以通过插值语法等方式绑定到te

Vue基础中的侦听器是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

vue中什么是侦听器

  • 开发中我们在data返回的对象中定义了数据,这个数据可以通过插值语法等方式绑定到templat中。

  • 当数据变化的时候,template里绑定的数据会自动进行更新来显示最新的数据。但是这种变化是在template中自动侦听data的值来进行变换的

  • 在某些情况下,我们希望在代码逻辑中监听某个数据的变化,这个时候就需要用到侦听器watch了

官方定义:Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。

一个对象,键是要侦听的响应式 property——包含了 data 或 computed property,而值是对应的回调函数。值也可以是方法名,或者包含额外选项的对象。组件实例将会在实例化时调用 $watch(),参阅 $watch,以了解更多关于 deep、immediate 和 flush 选项的信息

侦听器的用法

选项:watch

类型:{ [key: string]: string | Function | Object | Array}

侦听器watch的配置选项:

默认情况下,watch只是在侦听数据的引用变化,对于数据内部属性的变化是不会做出响应的:

这个时候我们可以使用一个选项deep进行更深层的侦听;另外一个属性,是希望一开始的就会立即执行一次:这个时候我们使用immediate选项;这个时候无论后面数据是否有变化,侦听的函数都会有限执行一次;

data的内容:

data() {    return {        info: {            name: 'cgj'        }    }}watch: {    info: {        handler(newValue, oldValue) {            console.log(newValue, oldValue)            }        deep: true,        immediate: true,    }}

另外一个是vue3文档中没有提到的,但是Vue2文档中有提到的是侦听对象的属性:

'info.name': function(newValue, oldValue) {    console.log(newValue, oldValue)}

还有另外一种方式就是使用 $watch 的api

具体$watch可以查看官方的API查看(用的方式比较少):实例方法 | vue.js

const app = createApp({  data() {    return {      a: 1,      b: 2,      c: {        d: 4      },      e: 5,      f: 6    }  },  watch: {    // 侦听顶级 property    a(val, oldVal) {      console.log(`new: ${val}, old: ${oldVal}`)    },    // 字符串方法名    b: 'someMethod',    // 该回调会在任何被侦听的对象的 property 改变时被调用,不论其被嵌套多深    c: {      handler(val, oldVal) {        console.log('c changed')      },      deep: true    },    // 侦听单个嵌套 property    'c.d': function (val, oldVal) {      // do something    },    // 该回调将会在侦听开始之后被立即调用    e: {      handler(val, oldVal) {        console.log('e changed')      },      immediate: true    },    // 你可以传入回调数组,它们会被逐一调用    f: [      'handle1',      function handle2(val, oldVal) {        console.log('handle2 triggered')      },      {        handler: function handle3(val, oldVal) {          console.log('handle3 triggered')        }              }    ]  },  methods: {    someMethod() {      console.log('b changed')    },    handle1() {      console.log('handle 1 triggered')    }  }})const vm = app.mount('#app')vm.a = 3 // => new: 3, old: 1

vue侦听器-watch

目标: 可以侦听data/computed属性值改变

语法:

watch: {    "被侦听的属性名" (newVal, oldVal){    }}

例子代码:

<template>  <div>    <input type="text" v-model="name">  </div></template><script>export default {  data(){    return {      name: ""    }  },  // 目标: 侦听到name值的改变    watch: {    // newVal: 当前最新值    // oldVal: 上一刻值    name(newVal, oldVal){      console.log(newVal, oldVal);    }  }}</script><style></style>

小结: 想要侦听一个属性变化, 可使用侦听属性watch

vue侦听器-深度侦听和立即执行

目标: 可以侦听data/computed属性值改变

语法:

watch: {    "被侦听的属性名" (newVal, oldVal){    }}

例子代码:

<template>  <div>    <input type="text" v-model="user.name">    <input type="text" v-model="user.age">  </div></template><script>export default {  data(){    return {      user: {        name: "",        age: 0      }    }  },  // 目标: 侦听对象    watch: {    user: {      handler(newVal, oldVal){        // user里的对象        console.log(newVal, oldVal);      },      deep: true,      immediate: true    }  }}</script><style></style>

小结: immediate立即侦听, deep深度侦听, handler固定方法触发

看完上述内容,你们掌握Vue基础中的侦听器是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Vue基础中的侦听器是什么

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

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

猜你喜欢
  • Vue基础中的侦听器是什么
    Vue基础中的侦听器是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。vue中什么是侦听器开发中我们在data返回的对象中定义了数据,这个数据可以通过插值语法等方式绑定到te...
    99+
    2023-06-21
  • Vue基础之侦听器详解
    目录vue中什么是侦听器侦听器的用法vue侦听器-watchvue侦听器-深度侦听和立即执行总结vue中什么是侦听器 开发中我们在data返回的对象中定义了数据,这个数据可...
    99+
    2024-04-02
  • Vue中侦听器的基本用法示例
    目录前言一、侦听器的基本用法二、侦听器的格式三、实现刚进入页面就触发监听和深度监听深度监听深度监听返回侦听对象子属性的值最后前言 Vue 通过 watch 选项提...
    99+
    2024-04-02
  • Vue中侦听器怎么用
    这篇文章将为大家详细讲解有关Vue中侦听器怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变...
    99+
    2023-06-20
  • vue中侦听器,缓存与computed的区别是什么
    这篇文章主要讲解了“vue中侦听器,缓存与computed的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中侦听器,缓存与computed的区别是什么”吧!一、计算属性(co...
    99+
    2023-06-30
  • 怎么使用Vue的watch侦听器
    小编给大家分享一下怎么使用Vue的watch侦听器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!侦听器watch 函数名就是要侦听的元素的名字传入的参数第一个是变化后的新值newval,第二个是变化前的旧值old...
    99+
    2023-06-22
  • Vue中的侦听器及使用场景
    目录基本示例​深层侦听器​即时回调的侦听器​回调的触发时机​this.$watch()​停止侦听器​基本示例​ 计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变...
    99+
    2023-05-18
    Vue侦听器的作用 Vue侦听器使用
  • 老生常谈Vue中的侦听器watch
    目录一、侦听器watch1.1.初识侦听器watch1.2.Vue的data的watch1.3.Vue的watch侦听选项一、侦听器watch (思维导图不太完善,因为是按照自己看...
    99+
    2022-11-13
    Vue侦听器watch Vue侦听器 Vue watch
  • Vue3侦听器的实现原理是什么
    侦听响应式对象前面我们聊到计算属性,它可以自动计算并缓存响应式数据的值。而如果我们仅需要在响应式数据变化时,执行一些预设的操作,就可以使用watch侦听器。我们还是先来实现一个最简单的例子,然后来一点一点扩充它。const data = {...
    99+
    2023-05-16
    Vue3
  • 详解Vue3中的watch侦听器和watchEffect高级侦听器
    目录1watch侦听器2watchEffect高级侦听器清除副作用:就是在触发监听之前会调用一个函数可以处理你的逻辑例如防抖停止跟踪 watchEffect 返回一个函数 调用之后将...
    99+
    2022-11-13
    Vue3 watch侦听器 vue3 watchEffect侦听器
  • Vue基础语法之计算属性(computed)、侦听器(watch)、过滤器(filters)详解
    目录1、Vue 实例选项2、计算属性(computed)2.1、computed 的基本用法2.2、computed 作为函数传参2.3、计算属性和函数的区别3、侦听器(watch)...
    99+
    2022-11-13
    vue计算属性侦听器 vue计算属性侦听器 vue过滤器
  • vue 对象的侦听属性用什么表示
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。watch 侦听属性所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听属性,意思就是可以监视其他数据的变化。有的时候,我们需要的派生数据是通过异步的...
    99+
    2023-05-14
    侦听属性 Vue
  • Vue中计算属性和侦听器怎么使用
    本篇内容主要讲解“Vue中计算属性和侦听器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中计算属性和侦听器怎么使用”吧!在Vue中通常我们会在模板绑定表达式,模板是用来描述视图结构...
    99+
    2023-06-03
  • 聊聊Vue中的计算属性、方法与侦听器
    也就是说,当计算属性依赖的数据发生改变时,它会重新计算;若没有变化时,则不计算,会一直使用上一次计算的结果(这样也就提高了一些性能)。在我们的代码中,当 firstName 或 lastName 改变时,fullName 会重新计算,不变时...
    99+
    2023-05-14
    前端 JavaScript Vue.js
  • vue对象的侦听属性怎么表示
    这篇文章主要介绍“vue对象的侦听属性怎么表示”,在日常操作中,相信很多人在vue对象的侦听属性怎么表示问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue对象的侦听属性怎么表示”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • Vue中如何实现对Array的数据侦听
    这篇文章给大家分享的是有关Vue中如何实现对Array的数据侦听的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。核心思想通过创建一个拦截器来覆盖数组本身的原型对象Array.pro...
    99+
    2024-04-02
  • Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用
    这篇文章主要介绍了Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用文章都会有所收...
    99+
    2023-06-30
  • Vue中的计算属性、方法与侦听器源码分析
    这篇“Vue中的计算属性、方法与侦听器源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中的计算属性、方法与侦听器...
    99+
    2023-07-05
  • vue3.0中的watch侦听器实例详解
    目录前言 侦听器和计算属性的区别vue3如何使用watch呢? 基本使用监听多个响应式数据侦听reactive定义的响应式数据 监听reactive定义的响应式数据的某一个属性配置选...
    99+
    2024-04-02
  • 怎么使用Vue WatchEffect函数创建高级侦听器
    这篇文章主要介绍了怎么使用Vue WatchEffect函数创建高级侦听器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Vue WatchEffect函数创建高级侦听器文章都会有所收...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作