vue3:computed
原文: https://mp.weixin.qq.com/s/36dd--oj6jmkZblfJRh4iw
computed 支持选项式写法 和 函数式写法
1.选项式写法 支持一个对象传入get函数以及set函数自定义操作
2.函数式写法 只能支持一个getter函数不允许修改值的
<template> <div> <div> 姓:<input type="text" v-model="firstName"> </div> <div> 名:<input type="text" v-model="lastName"> </div> <div> 全名:{{ name }} </div> <div> <button @click="changeName">修改</button> </div> </div> </template> <script setup lang='ts'> import { ref, computed } from 'vue'; /** * computed 支持选项式写法 和 函数式写法 * 1.选项式写法 支持一个对象传入get函数以及set函数自定义操作 * 2.函数式写法 只能支持一个getter函数不允许修改值的 */ let firstName=ref('张'); let lastName=ref('三'); // //1.选项式写法 支持一个对象传入get函数以及set函数自定义操作 // let name=computed<string>({ // get () { // // 读取值操作 // return firstName.value + '-' + lastName.value // }, // set (newVal) { // // 设置值操作 // [firstName.value,lastName.value] = newVal.split('-') // } // }); // const changeName = () => { // name.value = '小-田' // } //2.函数式写法 只能支持一个getter函数不允许修改值的 let name = computed(() => firstName.value + '-' + lastName.value) </script> <style scoped> </style>