vue2.0的计算属性computed和watch的区别及各自使用场景解读

Vue2.0的计算属性computed和watch的区别及各自使用场景解读

Vue2.0中,Vue实例提供了两种方法:computed和watch来追踪和响应状态变化。

计算属性computed

定义:computed是一个计算属性,其返回值依赖于其他的状态数据。computed属性默认只有getter方法,因此不可以修改。

示例

<template>
  <div>
    <h2>计算属性computed示例</h2>
    <p>{{ message }}</p>
    <p>{{ reverseMessage }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!',
    }
  },
  computed: {
    reverseMessage() {
      return this.message.split('').reverse().join('')
    },
  },
}
</script>

输出:

计算属性computed示例

Hello Vue!

!euV olleH

使用场景

  1. 计算一个值,并且这个值需要依赖于状态数据。
  2. 这个值需要在模板中多次使用。

监听watch

定义:watch是一个监听器,用来观察某个状态数据在发生变化时执行的特定逻辑。

示例

<template>
  <div>
    <h2>监听watch示例</h2>
    <p>{{ message }}</p>
    <input type="text" v-model="newMessage" />
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!',
      newMessage: '',
    }
  },
  watch: {
    newMessage(newVal) {
      this.message = newVal
    },
  },
}
</script>

输入:

监听watch示例

Hello Vue!

当在输入框中输入World时,输出:

监听watch示例

Hello Vue!

World

使用场景

  1. 监听某个所关心的状态数据的变化并且做一些特定的响应逻辑。
  2. 表单元素的双向数据绑定。

computed和watch的区别

  1. computed是计算属性,具有缓存功能,只有在计算的数据发生变化时才会重新求值;watch则是观察一个值的改变,每次值发生变化时都会执行回调。
  2. computed适用于数据多次使用,watch适用于需要对数据进行特定的响应逻辑。
  3. computed一般用于模板中的插值表达式和指令中的表达式,watch一般用于data数据变化时且需要执行异步或复杂操作时的情况。

综上,哪个更好还是需要根据业务场景来选择使用。

参考文献:
- Vue.js 官方文档computed
- Vue.js 官方文档watch

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue2.0的计算属性computed和watch的区别及各自使用场景解读 - Python技术站

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

相关文章

  • Vue 中v-model的完整用法及原理

    首先我们先来了解一下v-model的基本用法和原理。 v-model的基本用法 在Vue中,v-model被用来实现表单元素和Vue实例之间的双向数据绑定。v-model通常和表单元素input、textarea、select等配合使用。将 v-model 赋值给一个普通的变量,这个变量就可以被修改以响应用户的输入和交互。 v-model的基本语法如下: &…

    Vue 2023年5月27日
    00
  • 关于vue中的时间格式转化问题

    关于Vue中的时间格式转化问题,我为你详细讲解以下攻略。 问题描述 在Vue应用开发中,我们经常会遇到需要将日期时间格式进行转化的情况。例如从后端API接口中获取的时间戳需要格式化成常用的日期时间格式,或者用户在前端输入的日期时间字符串需要转换为时间戳等。在这样的场景下,我们需要掌握Vue中时间格式转化的方法。 解决方法 Vue中内置了许多过滤器(Filte…

    Vue 2023年5月28日
    00
  • Vue 3.0 前瞻Vue Function API新特性体验

    以下是关于“Vue 3.0 前瞻Vue Function API新特性体验”的详细攻略。 什么是Vue Function API? Vue Function API是指在Vue.js 3.0中引入的一组全新的API,它们的设计目标是更好地解决组件库编写过程中出现的一些问题,如代码的可维护性、组件之间的通信以及更好的类型支持等。Vue Function API…

    Vue 2023年5月28日
    00
  • vue实现周日历切换效果

    接下来我会详细讲解如何用vue实现周日历切换效果。 前置知识 在学习如何用vue实现周日历切换效果之前,需要掌握以下技术: HTML基础知识 CSS基础知识 JavaScript基础知识 Vue.js基础知识 实现步骤 步骤一:创建日历组件 我们可以通过vue-cli来创建新的项目,然后使用vue组件创建我们的日历组件。通过组件,我们可以灵活地控制日历的显示…

    Vue 2023年5月29日
    00
  • Vue.js如何利用v-for循环生成动态标签

    Vue.js是一种流行的JavaScript框架,它使得开发者可以更快地构建动态Web应用程序。v-for指令是Vue.js框架中用于迭代遍历数组数据和对象数据的指令之一。本文将从基础的Vue.js语法入手,讲解如何利用v-for指令动态生成标签。 1. 基础语法 使用v-for指令需要在HTML标签上添加v-for属性并指定循环的数据源,语法如下: &lt…

    Vue 2023年5月29日
    00
  • vue-cli 3.0 自定义vue.config.js文件,多页构建的方法

    我将会详细讲解“vue-cli 3.0自定义vue.config.js文件,多页构建的方法”的完整攻略。 什么是vue-cli 3.0? vue-cli是一个官方的Vue.js脚手架,它可以快速搭建一个完整的Vue.js开发环境,提供了现代化的构建工具和工作流程。 自定义vue.config.js文件 在使用vue-cli 3.0开发项目时,我们可以通过自定…

    Vue 2023年5月28日
    00
  • Vue.js自定义指令的基本使用详情

    Sure,下面是针对 “Vue.js自定义指令的基本使用详情”的完整攻略。 首先,我们需要理解自定义指令的概念和作用。在 Vue.js 中,自定义指令可用于对DOM进行操作,比如控制DOM元素的显示隐藏、添加样式、绑定事件等。自定义指令能够让我们以一种非常优雅的方式扩展 Vue.js 的功能。 一、自定义指令的基本定义 在 Vue.js 中,通过编写自定义指…

    Vue 2023年5月28日
    00
  • 3分钟带你快速认识Vue3中的v-model

    3分钟带你快速认识Vue3中的v-model Vue3中的v-model相比Vue2版本有了一些改动,新版本中v-model被封装成一个Directive,这个Directive能够更好的协调子组件之间双向绑定的问题。 什么是v-model v-model指令的职责是在表单元素和组件上创建双向绑定。在Vue2版本中,v-model只能对表单元素进行使用。而在…

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