Vue - 计算属性的妙用

计算属性的运用

Vue 组件的计算属性是一种通过对已有数据进行实时计算,生成新的数据的方式。在下面的代码中,我们通过计算属性 publishedBooksMessage 实时展示作者发布的书籍信息。

复制代码
<template>
  <div>
    <p>作者: {{ author.name }}</p>
    <p>发布的书: {{ publishedBooksMessage }}</p>
    <ul>
      <li v-for="(book, index) in author.books" :key="index">{{ book }}</li>
    </ul>
    <p>当前时间: {{ currentTime }}</p>
    <button @click="changeAuthorName">改变作者名字</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      author: {
        name: "张三",
        books: [
          "Vue 2 - Advanced Guide",
          "Vue 3 - Basic Guide",
          "Vue 4 - The Mystery"
        ]
      },
      currentTime: ""
    };
  },
  computed: {
    publishedBooksMessage() {
      return this.author.books.length > 0 ? "Yes" : "No";
    }
  },
  methods: {
    changeAuthorName() {
      this.author.name = "李四";
    },
    getCurrentTime() {
      return new Date().toLocaleTimeString();
    }
  },
  created() {
    this.currentTime = this.getCurrentTime();

    setInterval(() => {
      this.currentTime = this.getCurrentTime();
    }, 1000);
  }
};
</script>

<style scoped>
</style>

计算属性的优势

计算属性的一大优势在于它们会进行缓存,只有在相关依赖发生改变时才会重新计算。在这个例子中,publishedBooksMessage 只在 author.books 数组发生变化时才会重新计算,这有效地减少了不必要的计算开销。

实时展示发布的书籍信息

通过计算属性,我们轻松地实现了实时展示作者发布的书籍信息。当书籍数量大于 0 时,显示 "Yes",否则显示 "No"。

相关推荐
jessecyj2 分钟前
Spring boot整合quartz方法
java·前端·spring boot
苦瓜小生15 分钟前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
天若有情67322 分钟前
前端HTML精讲03:页面性能优化+懒加载,搞定首屏加速
前端·性能优化·html
踩着两条虫34 分钟前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava
和沐阳学逆向38 分钟前
我现在怎么用 CC Switch 管中转站,顺手拿 Codex 举个例子
开发语言·javascript·ecmascript
swipe1 小时前
AI 应用里的 Memory,不是“保存聊天记录”,而是管理上下文预算
前端·llm·agent
慧一居士1 小时前
nuxt3 项目和nuxt4 项目区别和对比
前端·vue.js
威联通安全存储2 小时前
破除“重前端、轻底层”的数字幻象:如何夯实工业数据的物理底座
前端·python
inksci2 小时前
Js生成安全随机数
前端·微信小程序
吴声子夜歌2 小时前
TypeScript——泛型
前端·git·typescript