计算属性Computed


  • 计算属性:相当于可以完成代码计算的变量。(自动更新,并返回计算结果)
  • 编写步骤:
  • 步骤1:声明计算属性:(编写逻辑代码),在computed中声明
  computed: {
    //属性名() { return 返回值 }
    total() {
      return 0
  },

步骤2:使用计算属性:与普通变量相同的

{{total}}

案例:将 字符串 反转 (倒排),“ABC” -->

"CBA"

<template>
      split:字符串函数,将字符串按照指定的字符分割成数组
      reverse:数组函数,将数组数据反转
      join:数组函数,将数组按照指定的字符拼接成字符串
    {{'ABC'.split('').reverse().join('')}}
    {{msg}}
</template>
<script>
export default {
  computed: { //计算属性:可以实时进行计算的变量
    msg() {
      return 'XYZ'.split('').reverse().join('')
</script>
<style>
</style>

案例2:data、methods、computed对比,‘显示姓名,2个文本框,一个是姓,一个是名’

<template>
    <!-- 1.1 2个input -->
    <input type="text" v-model="firstName">





    
    <input type="text" v-model="secondName">
    <!-- 2.2 触发函数 -->
    <input type="button" value="显示" @click="exeName"> <br>
    fullName : {{fullName}} <br>
    <!-- 3.2 显示结果 -->
    fullName2 :     {{fullName2}} <br>
</template>
<script>
export default {
  data() {
    return {
      // 1.2 两个变量 + 1个变量
      firstName: '',
      secondName: '',
      fullName: ''
  methods: {
    // 2.1 声明函数
    exeName() {
      this.fullName = this.firstName + this.secondName
  computed: {
    // 3.1 声明计算属性
    fullName2() {
      // 格式:姓为'张',名为'三',全称为'张三'
      return this.firstName + this.secondName
</script>
<style>
</style>

过滤器


  • 过滤器:是对已有数据的二次加工


语法


语法1:无参

语法2:有参

声明过滤器 (data/methods平级)

使用过滤器

案例


案例1:固定2位小数位数

案例2:指定小数位数

监听器



语法


语法1:对普通变量进行监听

语法2:深度监听

案例


案例:购物车


需求


微信图片_20220525215158.png

实现


案例:计算总计