Vue23的计算属性(computed)

news/2024/7/10 1:24:46 标签: javascript, 前端, vue, 前端框架

Vue2&3的计算属性(computed)

Vue2的计算属性

  • 原理:data中的属性通过计算得到新的属性,称为计算属性(computed)。
  • computed 具有 getter 和 setter 属性
    • getter 属性在使用时分别有两次调用:
      • 第一次:初始化,初次访问该属性
      • 第二次:当 computed 中的数据发生变化时调用
    • setter 属性的调用:
      • 当 computed 属性被修改时调用
    • 注意事项:
      • setter 属性本身不会修改属性的值,只用于修改属性本身,而 computed 属性的值被修改并不会更新setter 属性的值。
      • getter 和 setter 属性不能使用箭头函数,箭头函数中的this不是指向vm,而是window。
  • computed 分别有两种写法:
    • 简写形式:computed : { 属性名(){ ...... } },不使用setter属性时,才能使用
    • 完整形式:computed : { 属性名 : { get(){ ...... }, set(value){ ...... } } }
javascript">// App.vue
<template>
    姓名:<input type="text" v-model="username"><br>
    反转:<input type="text" v-model="reversedName">
</template>

<script>
    export default {
        name : 'App',
        data(){
            return {
                username : ''
            }
        },
        computed : {
            // 完整写法
            reversedName : {
                get(){
                    return this.username.split('').reverse().join('')
                },
                set(value){
                    this.username = value.split('').reverse().join('')
                }
            }
            
            // 简写形式
            reversedName(){
                return this.username.split('').reverse().join('')
            }
        }
    }
</script>

Vue3的计算属性

  • Vue3的 computed 属性是一个组合式API,并且可以使用箭头函数
  • 使用前需要先引入:import { computed } from 'vue'
  • computed 属性的两种写法:
    • 简写形式:computed(() => { ...... }),不使用setter属性时,才能使用
    • 完整形式:computed({get(){ ...... }, set(value){ ...... }})
javascript">// App.vue
<template>
    姓名:<input type="text" v-model="user.name"><br>
    反转:<input type="text" v-model="reversedName">
</template>

<script>
    import { reactive, computed } from 'vue'
    export default {
        name : 'App',
        setup(){
            let user = reactive({
                name : ''
            })
            // 简写写法
            let reversedName = computed(() => {
                return user.name.split('').reverse().join('')
            })

            // 完整写法
            let reversedName = computed({
                get(){
                    return user.name.split('').reverse().join('')
                },
                set(value){
                    user.name = value.split('').reverse().join('')
                }
            })

            return {user, reversedName}
        }
    }
</script>

http://www.niftyadmin.cn/n/5187299.html

相关文章

SQLite3 数据库学习(文章链接汇总)

参考引用 SQLite 权威指南&#xff08;第二版&#xff09;SQLite3 入门 SQLite3 数据库学习&#xff08;一&#xff09;&#xff1a;数据库和 SQLite 基础 SQLite3 数据库学习&#xff08;二&#xff09;&#xff1a;SQLite 中的 SQL 语句详解 SQLite3 数据库学习&#xff08;三…

京东数据挖掘(京东运营数据分析):2023年宠物行业数据分析报告

随着社会经济的发展&#xff0c;人均收入水平逐渐提高&#xff0c;使得宠物成为越来越多家庭的成员&#xff0c;宠物数量不断增长。伴随养宠人群的增多&#xff0c;宠物相关产业的发展也不断升温&#xff0c;宠物经济规模持续增长。 根据鲸参谋平台的数据显示&#xff0c;在宠物…

第四代智能井盖传感器:万宾科技智能井盖位移监测方式一览

现在城市化水平不断提高&#xff0c;每个城市的井盖遍布在城市的街道上&#xff0c;是否能够实现常态化和系统化的管理&#xff0c;反映了一个城市治理现代化水平。而且近些年来住建部曾多次要求全国各个城市加强相关的井盖管理工作&#xff0c;作为基础设施重要的一个组成部分…

人工智能基础_机器学习038_中国人寿保费预测(EDA数据探索)_导包_数据探索_---人工智能工作笔记0078

注意 EDA是Exploratory Data Analysis(探索性数据分析)的缩写,它是一种统计分析方法,旨在了解数据的基本特征,并发现数据中的规律和模式。EDA通常是数据分析流程的开始阶段,主要使用可视化工具和统计指标来描述数据的基本特征,如数据的分布、中位数、均值、方差等。通过…

论文排版一步搞定之图表题注——(图标自动编号,引用题注)

同学们在撰写研究生毕业大论文时&#xff0c;一定会进行章节的多次调整&#xff0c;不到最后一刻很难定稿。此时&#xff0c;一幅插图或表格位置的变化可能会导致此章内大部分插图或表格编号的变化&#xff0c;插图和表格编号的改变同样会使得前文的引用发生变化。牵一发而动全…

Win32 COLORREF、RGB、获取颜色分量

COLORREF 是一个 32-bit 整型数值,它代表了一种颜色。 COLORREF 值用于指定 RGB 颜色。 可以用RGB宏来初始化一个COLORREF 值; 也可以直接赋予一个十六进制值; 也可以把颜色对话框的返回值赋给一个COLORREF类型变量; 使用 GetRValue、 GetGValue 和 GetBValue 宏获取颜色分…

WPF显示3D图形

C# 中的 WPF (Windows Presentation Foundation) 支持显示3D图形。WPF 使用 DirectX 作为底层图形引擎&#xff0c;这意味着它可以处理包括3D图形在内的复杂渲染任务。 在 WPF 中&#xff0c;你可以使用一些内置的类和控件来创建和显示3D对象。这包括 Viewport3D, Camera, Mod…

Games104现代游戏引擎笔记 面向数据编程与任务系统

Basics of Parallel Programming 并行编程的基础 核达到了上限&#xff0c;无法越做越快&#xff0c;只能通过更多的核来解决问题 Process 进程 有独立的存储单元&#xff0c;系统去管理&#xff0c;需要通过特殊机制去交换信息 Thread 线程 在进程之内&#xff0c;共享了内存…