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

yizhihongxing

下面就来详细讲解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日

相关文章

  • Vue项目如何实现rsa加密

    下面是Vue项目如何实现RSA加密的完整攻略。 RSA加密介绍 RSA算法是一种非对称加密算法,可以用于加密和数字签名。它的基本原理是将要加密的明文先进行分组,并通过某种算法将分组后的明文进行加密,并生成密文。然后将密文传输到接收方,接收方收到密文后,再通过某种算法对密文进行解密,还原成原来的明文。 RSA加密流程 我们来看一下RSA加密的流程: 首先选择两…

    Vue 2023年5月27日
    00
  • 微信小程序中实现双向绑定的实战过程

    下面我来详细讲解“微信小程序中实现双向绑定的实战过程”的完整攻略。双向绑定是前端开发中常用的一种技术手段,它可以实现组件之间的数据同步,提高开发效率。 1. 数据绑定 微信小程序的数据绑定方式类似于Vue.js,而不同于React.js的JSX语法。其语法为{{}},示例如下: <view>{{message}}</view> 在js…

    Vue 2023年5月27日
    00
  • 详解vue中组件参数

    下面我将详细讲解“详解vue中组件参数”的完整攻略。 引言 在Vue中,组件参数是指传递给组件的数据和选项。Vue组件的参数可以分为两类:props和attrs。props是父组件传递给子组件的数据,而attrs是指父组件传递给子组件的非props数据,比如style和class等。 props props是指父组件传递给子组件的数据。props可以在子组件…

    Vue 2023年5月27日
    00
  • Spring Boot详解各类请求和响应的处理方法

    下面我将为你详细讲解“Spring Boot详解各类请求和响应的处理方法”的完整攻略。 一、什么是Spring Boot Spring Boot是一个快速构建Spring应用程序的框架,它基于Spring框架,并通过自动配置、起步依赖和命令行界面等特性,使得开发Spring应用更加简单。 二、Spring Boot的请求和响应处理方法 1. 处理GET请求 …

    Vue 2023年5月28日
    00
  • vue3+ts+axios+pinia实现无感刷新方式

    让我来为你详细讲解“vue3+ts+axios+pinia实现无感刷新方式”的完整攻略。 什么是无感刷新? “无感刷新”又称为“局部刷新”,是指在不需要刷新整个页面的情况下,只刷新某个局部区域的内容。这种方式可以提升用户体验,避免因整个页面刷新而导致的卡顿和等待。 准备工作 在开始实现无感刷新之前,需要准备好以下工具和依赖: Vue3:一个流行的JavaSc…

    Vue 2023年5月28日
    00
  • 五分钟搞懂Vuex实用知识(小结)

    五分钟搞懂Vuex实用知识(小结)攻略 1.简介 Vuex是Vue.js应用程序开发的首选架构,它是一个状态管理库,将状态集中管理。Vuex主要解决了Vue.js的组件通信和数据共享的问题。 2.核心概念 Vuex的核心概念包括: State:状态,即应用程序中的数据。 Getters:获取状态,用于获取State中的值并进行处理后输出。 Mutations…

    Vue 2023年5月27日
    00
  • Vue 中使用 typescript的方法详解

    Markdown文档基础 在编写Markdown文档时,我们需要使用特定的符号来表示各种不同的文本格式。例如,使用#可以表示标题,使用*可以表示列表等。下面是一些常用的Markdown格式: 标题: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 列表: 无序列表项1 无序列表项2 无序列表项3 有序列表项1 有序列表项2 有序列表项3 文本: …

    Vue 2023年5月27日
    00
  • SpringBoot预加载与懒加载实现方法超详细讲解

    SpringBoot预加载与懒加载实现方法超详细讲解 什么是预加载和懒加载? 在介绍如何实现预加载和懒加载之前,我们需要先了解这两个术语的含义。 预加载:在应用程序启动时就加载所有的模块或组件,以便后续处理时能够直接使用。这种方式可以有效地提高应用程序的响应速度,但是会降低应用程序的启动速度和内存占用量。 懒加载:在需要时才加载模块或组件。这种方式可以减少应…

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