Vue的computed计算属性你了解吗

Vue的computed计算属性在Vue框架开发中非常常用。它可以根据计算函数里的数据自动计算出结果,并且在数据发生变化时会自动重新计算,然后用于渲染模板。在这篇文章中,我们将深入了解Vue的computed计算属性,掌握计算属性的使用方法和技巧。

什么是Vue的computed计算属性

Vue的computed计算属性是在Vue实例中定义的函数。它返回一个计算结果,并且在使用时像数据值一样调用。computed计算属性的值会自动缓存,只有在依赖的数据发生改变时才会重新计算。

computed计算属性的使用方法

computed计算属性的使用方法和普通属性的使用方法类似,在Vue实例中定义一个computed属性,然后把计算函数赋值给它。计算函数中访问的数据属性可以是Vuex Store中的state,也可以是Vue实例中的data对象。

下面是一个简单的示例:

<template>
  <div>
    <p>总价:{{totalPrice}}</p>
  </div>
</template>

<script>
export default {
  data(){
    return {
      price: 10,
      quantity: 3
    }
  },
  computed:{
    totalPrice(){
      return this.price * this.quantity;
    }
  }
}
</script>

在这个示例中,我们定义了一个计算属性totalPrice,它会根据price和quantity属性的值自动计算,然后用于渲染模板。

computed计算属性的优势和注意事项

computed计算属性相当于是Vue的响应式数据,它会自动根据数据的变化重新计算。计算属性的另一个优势是值的缓存,只有在依赖的数据发生变化时才会重新计算。

但是需要注意的是,computed计算属性必须是纯函数,它依赖的数据必须是响应式的。如果计算属性依赖了非响应式的数据,那么在数据变化时计算属性不会重新计算。同时,computed计算属性也不适用于所有场景,如果计算函数比较复杂,可能会导致性能问题。

示例一:计算圆的面积和周长

下面是一个关于计算圆的面积和周长的示例。在这个示例中,我们定义了一个圆的半径r,然后用computed计算属性计算圆的面积和周长。在计算属性中我们使用了Math.PI,这是一个常数,计算属性只有在r改变时才会重新计算。

<template>
  <div>
    <p>半径:{{r}}</p>
    <p>圆的面积:{{area}}</p>
    <p>圆的周长:{{circumference}}</p>
  </div>
</template>

<script>
  export default {
    data(){
      return {
        r: 6
      }
    },
    computed: {
      area(){
        return Math.PI * this.r * this.r;
      },
      circumference(){
        return 2 * Math.PI * this.r;
      }
    }
  }
</script>

示例二:根据数据筛选商品

下面是一个关于根据数据筛选商品的示例。在这个示例中,我们定义了一个商品列表和一个搜索关键字,然后通过computed计算属性筛选符合关键字要求的商品。

<template>
  <div>
    <input v-model="keyword" placeholder="搜索商品">
    <ul>
      <li v-for="item in filterGoods">{{item.name}} - {{item.price}}</li>
    </ul>
  </div>
</template>

<script>
  export default {
    data(){
      return {
        goods: [
          { name: '商品1', price: 20 },
          { name: '商品2', price: 40 },
          { name: '商品3', price: 60 },
          { name: '商品4', price: 80 },
          { name: '商品5', price: 100 },
        ],
        keyword: '',
      }
    },
    computed: {
      filterGoods(){
        return this.goods.filter(item => item.name.indexOf(this.keyword) !== -1);
      }
    }
  }
</script>

在这个示例中,我们通过computed计算属性filterGoods根据关键字筛选出符合要求的商品,并渲染到页面上。当我们修改关键字时,filterGoods会自动重新计算,展示最新的搜索结果。

以上是关于Vue的computed计算属性的介绍和示例,希望对您有所帮助。

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

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

相关文章

  • VSCode搭建Vue项目的方法

    接下来我会详细讲解如何使用VSCode搭建Vue项目的方法。 准备工作 在使用VSCode搭建Vue项目之前,首先需要在电脑上安装以下几个软件: Node.js (https://nodejs.org) npm (安装好Node.js后默认已经安装好了) VSCode (https://code.visualstudio.com/) 安装完成后,打开VSCo…

    Vue 2023年5月29日
    00
  • VueX安装及使用基础教程

    VueX是Vue.js的状态管理库,它可以帮助我们在应用程序中管理共享状态。下面是VueX安装及使用基础教程的完整攻略。 安装 # 使用npm安装 npm install vuex –save # 使用yarn安装 yarn add vuex 使用 首先,在Vue.js中使用VueX,我们需要将其添加到我们的Vue.js应用程序中。可以使用以下代码在Vue…

    Vue 2023年5月27日
    00
  • Vue CLI中模式与环境变量的深入详解

    下面是Vue CLI中模式与环境变量的深入详解。 什么是Vue CLI Vue CLI是Vue.js官方提供的脚手架工具,用于快速搭建Vue.js应用。Vue CLI提供了许多功能,包括创建项目、执行开发服务器和构建打包等。在Vue CLI中,有三种不同的模式(modes)可供选择,分别是开发模式(development)、生产模式(production)和…

    Vue 2023年5月28日
    00
  • Vue.js按键修饰符及v-model修饰符示例详解

    Vue.js按键修饰符及v-model修饰符示例详解 Vue.js按键修饰符 Vue.js提供了按键修饰符,可以轻松地绑定按键相关事件。对于选择文本框或文本域等表单元素非常有用。按键修饰符是通过添加特殊的后缀来对v-on监听的事件进行修饰的。示例代码如下: <template> <div> <input type="t…

    Vue 2023年5月27日
    00
  • vue中 this.$set的用法详解

    当我们在Vue中对数据进行修改时,通常需要使用Vue提供的响应式API对数据进行处理,例如使用Vue.set或this.$set方法。其中,this.$set方法可以让我们在Vue实例上添加一个响应式的属性,同时触发视图的重新渲染。下面我们来详细讲解Vue中this.$set的用法。 如何使用this.$set方法? this.$set方法的使用方法非常简单…

    Vue 2023年5月29日
    00
  • 详解vue-cli 2.0配置文件(小结)

    下面来详细讲解“详解vue-cli 2.0配置文件(小结)”的完整攻略。 什么是vue-cli 2.0配置文件 vue-cli是Vue.js官方提供的一个基于Webpack构建工具的脚手架,用于快速搭建Vue.js项目的基础架构。在Vue.js 2.0版本之前,vue-cli默认使用的是基于Webpack1.x版本的构建工具,因此配置文件也是基于这个版本进行…

    Vue 2023年5月27日
    00
  • vue进行post和get请求实例讲解

    Vue进行post和get请求实例讲解 Vue.js是一款轻量级的JavaScript框架,且它提供了强大的数据绑定和交互功能,于是很多web开发人员喜欢使用Vue.js开发web应用。常见的web应用需要从服务器获取数据,而请求方式一般有POST和GET两种,在Vue.js中,使用axios库可方便地进行POST和GET请求。 axios库简介 axios…

    Vue 2023年5月28日
    00
  • vue实现移动端拖动排序

    下面我将为您详细讲解“vue实现移动端拖动排序”的完整攻略。 1. 安装vue相关依赖 首先需要安装vue相关依赖,包括vue本身以及vue移动端手势库vue-touch。 npm install vue –save npm install vue-touch@next –save 2. 引入vue相关依赖 在你的vue项目入口文件中引入vue及vue-…

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