vue3-computed计算属性!!!

1.计算属性具有缓存特性,在computed中的响应式数据不发生变化时,就不重新加载computed中的逻辑。(作用于大量耗时的逻辑解构,并为其数据不经常发生变化,可采取computed计算属性提高程序效率-->常用于购物车数据计算)

代码如下:

html 复制代码
<script>
import { computed, ref } from "vue";
export default {
  setup() {
    const people = ref(["你是好人", "你不是好人"]);
    const config = ref(true);
    console.log(people);
    const num = ref(0);
    const shop = ref([
      { id: 1, name: "苹果", price: 3, num: 2 },
      { id: 2, name: "香蕉", price: 4, num: 1 },
    ]);
    const totalPrice = computed(() => {
      let prices = 0;
      shop.value.forEach((item) => {
        prices += item.price * item.num;
      });
      console.log("用来检测响应式数据的变化");
      return prices;
    });
    return {
      people,
      config,
      totalPrice,
      shop,
      num,
    };
  },
};
</script>
<template>
    <option value="苹果">苹果</option>
    <option value="香蕉">香蕉</option>
    <option value="橘子">橘子</option>
  </select>
  <h2>你选择的水果是:{{ fruit }}</h2> -->
  <!-- <h2 v-show="people">{{ people }}</h2> -->

  <button @click="config = config ? !config : !config">点击切换人设</button>
  <p v-show="config">{{ people[0] }}</p>

  <p v-if="config">{{ people[0] }}</p>
  <p v-else>{{ people[1] }}</p>

  <div v-for="item in shop" :key="item.id">
    <p>商品:{{ item.name }}</p>
    <p
      @click="
        () => {
          const goods = shop.find((obj) => obj.title == item.title);
          goods.price++;
        }
      "
    >
      {{ item.price }}元/斤
    </p>
    <p
      @click="
        () => {
          const goods = shop.find((obj) => obj.title == item.title);
          goods.num++;
        }
      "
    >
      {{ item.num }}个
    </p>
  </div>
  <p>总价: {{ totalPrice }}</p>
  <P>{{ num }}</P>
  <button @click="num++">num++</button>
</template>

通过F12检测数据变化:

相关推荐
爱勇宝5 小时前
AI 时代:智商决定起点,情商决定走多远
前端·ai编程
kyriewen5 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
IT_陈寒6 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
山河木马6 小时前
矩阵专题0-webGL中的矩阵
javascript·webgl·计算机图形学
徐小夕6 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
一份执念7 小时前
uni-app 小程序分包限制处理与主包体积优化实战
前端·微信小程序
Asize7 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
MariaH7 小时前
初识MySQL
前端
陳陈陳7 小时前
从Token到Embedding:一篇文章搞懂大模型的「文字数学变形记」
前端·javascript·ai编程
十有八七7 小时前
AI时代的置身X内
前端·人工智能