详解Vue computed计算属性是什么

下面我来详细讲解“详解Vue computed计算属性是什么”的完整攻略。

什么是computed计算属性?

在Vue.js中,computed是一个计算属性,即Vue自带的一种通用的计算方式。它是在模板中进行数据展示和操作的时候,可以使用的一种虚拟数据属性,也可用来监听数据的变化。

计算属性实际上就是对已经存在的数据进行处理,通过已有的数据给出新的计算结果。和methods不同的是,computed会缓存计算结果,只有在依赖数据发生变化时才会重新计算。

和computed配合使用的还有一个watch可以监听某些变化并执行一些操作,通常情况下可以使用computed来做的事情都可以用watch来做,但是两者的适用场景还是有很大的差别。

computed计算属性和 methods方法的区别

  • 计算属性是根据其他数据的值计算出新的数据的,而methods是直接处理逻辑的方法。

  • 计算属性的值是基于它所依赖的数据(响应式数据)进行计算的,而methods的值每次都会重新计算一次。

  • 计算属性可以像普通属性一样使用,直接在Vue实例中调用,不需要添加括号,而methods则需要使用括号。

computed计算属性示例

下面通过两个示例来说明computed计算属性的使用

示例1:计算购物车中商品总价值

在一个购物车中,商品数量和商品单价会随时变化,而购物车中的商品总价值需要重新计算,此时就可以使用computed计算属性来计算商品总价值。

<template>
  <div>
    <div v-for="(item, index) in cart" :key="index">
      <div>{{item.name}}</div>
      <div>单价:{{item.price}}</div>
      <div>数量:
        <input type="number" v-model="item.quantity" min="1">
      </div>
      <div>小计:{{item.total}}</div>
    </div>
    <div>总价:{{total}}</div>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        cart: [
          {id: 1, name: '商品1', price: 20, quantity: 1},
          {id: 2, name: '商品2', price: 30, quantity: 2},
          {id: 3, name: '商品3', price: 10, quantity: 3},
          {id: 4, name: '商品4', price: 15, quantity: 2},
        ]
      }
    },
    computed: {
      total() {
        let sum = 0
        for (let i = 0; i < this.cart.length; i++) {
          sum += this.cart[i].price * this.cart[i].quantity
        }
        return sum
      }
    }
  }
</script>

在上面的代码中,total是一个取值为计算属性,它的值取决于cart数组和其中每个对象的属性。

示例2:动态过滤列表

在一个列表中,我们需要根据输入框中的关键字进行搜索并展示符合条件的结果,此时可以使用computed计算属性来动态过滤列表。

<template>
  <div>
    <input type="text" v-model="keyword">
    <ul>
      <li v-for="(item, index) in filterList" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        list: ['苹果', '香蕉', '西瓜', '梨子', '草莓'],
        keyword: ''
      }
    },
    computed: {
      filterList() {
        let _this = this
        return this.list.filter(function (item) {
          return item.indexOf(_this.keyword) !== -1
        })
      }
    }
  }
</script>

在上面的代码中,filterList是一个取值为计算属性,它会根据keyword的值来进行列表过滤,展示符合条件的结果。

总结

computed计算属性是一个非常有用的Vue自带特性,它的使用可以大大简化Vue实例中代码的编写,并且可以提高程序运行效率,避免重复计算。在实际开发中,要灵活运用computed来提高代码的可维护性和可扩展性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Vue computed计算属性是什么 - Python技术站

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

相关文章

  • 详解Vue实现直播功能

    详解Vue实现直播功能 概述 Vue是一款流行的前端框架,提供了一种现代化的方式来构建交互式用户界面。在这篇文章中,我们将详细介绍如何在Vue应用中实现直播功能。 实现步骤 1. 前置条件 在开始实现直播功能之前,需要确保读者已经掌握以下的前置知识: Vue.js基础 Node.js基础 WebSocket协议 2. 构建Vue应用 首先,我们需要使用Vue…

    Vue 2023年5月28日
    00
  • vue本地打开build后生成的dist文件夹index.html问题

    针对“vue本地打开build后生成的dist文件夹index.html问题”,这里提供一份完整攻略,以下是具体步骤: 1. 构建vue项目 首先需要以vue-cli工具构建一个基本的vue项目。打开终端,输入以下命令: vue create my-project 其中my-project是你项目的名称,你也可以用其他的名称。 完成之后,进入项目文件夹: c…

    Vue 2023年5月28日
    00
  • ant design vue 表格table 默认勾选几项的操作

    Ant Design Vue 表格(Table)默认勾选几项的操作,可以通过在表格数据中为需要默认勾选的行数据添加一个 selected 属性,并且在表格操作栏添加一个全选按钮,并将其与表格的 rowSelection 属性绑定起来即可实现。 以下是完整的实现步骤: 设置表格数据源 首先,需要设置表格的数据源,可以使用一个数组对象来模拟,示例代码如下: da…

    Vue 2023年5月28日
    00
  • 详解Vue中localstorage和sessionstorage的使用

    详解Vue中localStorage和sessionStorage的使用 简介 对于一些 Vue.js 开发者来说,localStorage 和 sessionStorage 是存储数据的不错选择,本文将详细介绍这两个 API 的使用,同时说明如何在 Vue.js 组件中使用它们。 localStorage localStorage 是 Web Storag…

    Vue 2023年5月27日
    00
  • 12 种使用Vue 的最佳做法

    当我们在使用 Vue 开发项目时,遵守一些最佳实践可以帮助我们提高代码的可维护性、可读性和性能。下面是 12 种使用 Vue 的最佳实践: 1. 组件名称 组件名应该始终使用 PascalCase,即每个单词的首字母都大写。组件的名称在整个应用程序中唯一,因此应该是明确和描述性的。 例如: // 好的 Vue.component(‘MyComponent’,…

    Vue 2023年5月27日
    00
  • 解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题

    解决vue-quill-editor上传内容中图片base64字符串过长的问题,有以下几种方式: 1. 使用quill-image-extend-module quill-image-extend-module是一个扩展模块,它可以让quill-editor支持图片上传。它会将上传的图片文件转换成base64格式,然后插入到编辑器内容中,这会导致编辑器内容变…

    Vue 2023年5月27日
    00
  • vue cli升级webapck4总结

    首先需要了解的是Vue CLI是一个Vue.js的脚手架,用于快速搭建基于Vue.js的单页应用程序。Vue CLI 3是最新版本,其默认使用Webpack 4作为构建工具。 升级Vue CLI的过程可以分成以下几个步骤: 步骤一:检查当前Vue CLI版本 首先需要检查当前项目中所使用的Vue CLI版本,可以在Terminal里输入以下命令: vue -…

    Vue 2023年5月28日
    00
  • Vue3搭建组件库开发环境的示例详解

    为了搭建Vue3组件库开发环境,我们可以按照以下步骤进行: 安装vue-cli并初始化项目 首先我们需要在本地安装vue-cli,使用npm安装即可: npm install -g @vue/cli 安装完成后,我们可以使用下面的命令初始化一个新的vue项目: vue create my-project 安装必要依赖 在项目根目录下执行以下命令安装必要的依赖…

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