vue1.0和vue2.0的watch监听事件写法详解

下面就来详细讲解Vue.js的watch监听事件写法。

什么是Vue.js的watch监听事件

在Vue.js中,watch监听是Vue实例中一个非常重要的属性。它可用于监控Vue实例数据的变化,并在数据变化时立即做出响应操作。

Vue.js的watch监听事件用于监控数据变化的情况下执行一些操作。比如:当数据变化时,需要向服务器发送请求,或根据数据变化对DOM元素进行操作等。

vue1.0版本watch监听事件写法详解

在Vue1.0版本中,监听数据变化分为两种方式:$.watch和$set。其中,$.watch可以监听具体某个数据变化的情况,而$set是一个全局性的数据监听方法。

1. $.watch监听某个具体数据变化的方式

具体示例如下:

<body>
  <div id="app">
    <p>{{message}}</p>
  </div>
</body>
var vm = new Vue({
  el: '#app',
  data: {
    message: 'Hello,World!'
  }
})

vm.$.watch('message', function (newValue, oldValue) {
  console.log('message发生了变化')
})

2. $set全局监听方式

在Vue1.0中,可使用$set全局监听到所有数据的变化。我们需要将所有的数据都放到一个对象中,然后能够通过这个对象$set实现全局监听。

具体示例如下:

<body>
  <div id="app">
    <p>{{obj.message}}</p>
  </div>
</body>
var vm = new Vue({
  el: '#app',
  data: {
    obj: {
      message: 'Hello,World!'
    }
  }
})

Vue.$.watch(vm, function () {
  console.log('obj中的任意数据发生变化')
})

vue2.0版本watch监听事件写法详解

在Vue2.0版本中,watch监听事件发生了一些变化。使用watch属性对数据进行监听时,需要使用深度监听的方式,并且需要指定一个handler作为监听器。

1. watch监听具体某个数据变化

具体示例如下:

<body>
  <div id="app">
    <p>{{message}}</p>
  </div>
</body>
var vm = new Vue({
  el: '#app',
  data: {
    message: 'Hello,World!'
  },
  watch: {
    message: function (newValue, oldValue) {
      console.log('message发生了变化')
    }
  }
})

2. watch监听所有数据变化

同样在Vue2.0中,我们可以使用watch属性进行全局监听。我们只需要在watch里面指定deep: true即可实现全部监听。

具体示例如下:

<body>
  <div id="app">
    <p>{{obj.message}}</p>
  </div>
</body>
var vm = new Vue({
  el: '#app',
  data: {
    obj: {
      message: 'Hello,World!'
    }
  },
  watch: {
    obj: {
      handler: function () {
        console.log('obj中的任意数据发生变化')
      },
      deep: true
    }
  }
})

以上便是Vue.js的watch监听事件写法详解,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue1.0和vue2.0的watch监听事件写法详解 - Python技术站

(0)
上一篇 2023年5月29日
下一篇 2023年5月29日

相关文章

  • vue3.0 移动端二次封装van-uploader实现上传图片(vant组件库)

    下面我将为大家详细讲解如何在 vue3.0 移动端进行二次封装 van-uploader 组件实现上传图片。主要包含以下步骤: 安装 vant 组件库 创建一个新的 vue 组件,引入 vant 的 van-uploader 组件 封装 van-uploader 组件,增加一些自定义的属性和方法 在组件中使用封装后的 van-uploader 组件 接下来,…

    Vue 2023年5月28日
    00
  • vue-json-editor json编辑器的使用

    Vue-Json-Editor JSON编辑器的使用 VUE-JSON-EDITOR是基于Vue.js构建的JSON编辑器,支持将JSON数据通过文本框或拖放到编辑器中进行编辑,同时还提供了格式化JSON数据的功能。该编辑器支持各种类型的JSON数据(对象、数组、字符串、数字、布尔等),并且有多种主题可供选择,使用非常方便。 安装 你可以使用npm或yarn…

    Vue 2023年5月28日
    00
  • vue页面加载时的进度条功能(实例代码)

    为了实现页面加载时的进度条功能,我们可以利用vue-router路由导航守卫的特性,监听路由跳转前后的事件,来实现页面加载状态的追踪和展示。下面是具体实现的步骤: 1.在项目中安装nprogress插件 npm install –save nprogress 2.在路由配置文件中引入nprogress import Nprogress from ‘npro…

    Vue 2023年5月27日
    00
  • Vue项目使用svg图标实践

    Vue项目使用SVG图标实践 本文主要介绍在Vue项目中如何使用SVG图标,并提供两个示例说明。 集成SVG图标 安装svg-sprite-loader svg-sprite-loader将svg文件打包成单个svg sprite,该svg sprite可以通过样式或相关API的方式在您的应用程序中使用。 npm install svg-sprite-loa…

    Vue 2023年5月27日
    00
  • 面试问题Vue双向数据绑定原理

    面试问题Vue双向数据绑定原理 前言 在Vue中,双向数据绑定是一项非常重要的特性,也是其比较独特的特性之一。理解Vue中双向数据绑定的原理,是面试Vue开发岗位的常见问题之一。本篇文章将从以下几个方面来讲解Vue双向数据绑定的原理:Vue的响应式系统、Object.defineProperty()、实现双向绑定的具体原理以及如何自定义实现双向绑定。 Vue…

    Vue 2023年5月28日
    00
  • Vue源码学习之关于对Array的数据侦听实现

    这里提供一份 Vue 源码学习关于对 Array 数据侦听实现的完整攻略。 概述 Vue 框架作为数据驱动的 MVVM 框架,在响应式数据更新时能够实现高效的性能优化,是设计优秀的前端框架之一。而在 Vue 的响应式系统中,“对数组的数据侦听”是一个重要的实现细节,它可以实现监听数组数据变化并动态的更新视图。这也是 Vue 与其他前端框架的一个区别。 数组侦…

    Vue 2023年5月29日
    00
  • 详解Vue的options

    当使用Vue框架来开发应用程序时,它使用了一个构造函数来创建Vue的实例。在创建Vue实例时,构造函数需要一个对象参数,这个参数包含了Vue的选项,其中包括了数据、计算属性、模板、组件等等。这里我们就来详细讲解Vue的options。 1. 数据选项 数据选项用于定义应用程序中的数据,这些数据可以在模板中进行显示和修改。通过使用响应式数据机制,在修改数据时,…

    Vue 2023年5月27日
    00
  • vue中的双向数据绑定原理与常见操作技巧详解

    Vue中的双向数据绑定原理与常见操作技巧详解 1. 双向数据绑定原理 Vue中的双向数据绑定是通过 v-model 指令实现的。双向数据绑定本质上是一个语法糖,它实际上是将输入事件和属性绑定事件结合在一起,使得不仅仅当属性值改变时,视图也可以立刻改变,同时也可以通过视图改变属性值,从而实现双向数据绑定。 当我们使用 v-model 指令时,例如: <i…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部