您的位置: 翼速应用 > 业内知识 > web前端 > 正文

Vue教程:计算属性computed之详解

本文给大家带来了关于Vue的详细教程,详细解析计算属性computed,computed 是基于它的依赖缓存,只有在它的相关依赖发生改变时才会进行更新,详细内容请看本文。


Vue教程:计算属性computed之详解



Vue教程:计算属性computed之详解


复杂数据的处理-computed


拼接字符串、分数是否及格、message记录一段文字,这里是用computed实现的:


<div id="app">
      <!-- 插值语法表达式直接进行拼接 -->
      <!-- 1.拼接姓名 -->
      <h2>{{fullname}}</h2>
 
      <!-- 2.显示分数及格或不及格 -->
      <h2>{{scorelevel}}</h2>
 
      <!-- 3.反转单词 -->
      <!-- reverse针对于数组,先用split转为数组,在用reverse -->
      <h2>{{reversetext}}</h2>
    </div>
    <script src="../lib/vue.js"></script>
    <script>
      const app = Vue.createApp({
        data() {
          return {
            // name
            firstName: "kk",
            lastName: "cc",
 
            // score
            score: 99,
 
            // 文本中单词反转
            message: "I love stydy Vue3",
          };
        },
        computed: {
          fullname() {
            return this.firstName + " " + this.lastName;
          },
          scorelevel() {
            return this.score >= 60 ? "及格" : "不及格";
          },
          reversetext() {
            return this.message.split(" ").reverse().join(" ");
          },
        },
      });
      app.mount("#app");


当然我们用Mustache插值语法、methods也是可以完成的,但是对于复杂数据的处理,我们往往采用computed,写法更清晰,且计算属性是有缓存的


计算属性的缓存


●  会基于它们的依赖关系进行缓存;


●  在数据不发生变化时,计算属性是不需要重新计算的;


●  但是如果依赖的数据发生变化,在使用时,计算属性依然会重新进行计算;


&tinsp;


所以这也是我们在复杂数据处理时更倾向于computed


●  在使用相同次数的fullName时,methods执行三次,computed执行一次,这正是由于computed计算属性会被缓存:


methods执行三次


computed计算属性会被缓存


计算属性computed的setter和getter


大多数情况下,计算属性只需要一个getter方法,那么此时computed属性属性值为函数


如果想要设置计算属性的值,我们可以给计算属性设置一个setter方法


computed: {
          // 语法糖
          fullname() {
            return this.firstname + " " + this.lastname;
          },
 
          // 完整写法
          fullname: {
            get: function () {
              return this.firstname + " " + this.lastname;
            },
            set: function (value) {
              const names = value.split(" ");
              this.firstname = names[0];
              this.lastname = names[1];
            },
          },


关于计算属性computed之详解到这里就结束了,翼速应用平台内有更多相关资讯,欢迎查阅!

我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题