toRefs与toRef
toRefs与toRef
在vscode中通过 鼠标左键 + Alt可以选中多行。
作用:将一个响应式对象中的每一个属性,转换为ref
对象。
备注:toRefs
与toRef
功能一致,但toRefs
可以批量转换,而toRef
只能转换一个。
参考代码:
<template> <div class="person"> <!-- <h2>姓名: {{person.name}}</h2> --> <h2>姓名: {{name}}</h2> <!-- <h2>年龄: {{person.age}}</h2> --> <h2>年龄: {{age}}</h2> <button @click="changeName">修改名字</button> <button @click="changeAge">修改年龄</button> </div> </template> <script setup lang="ts" name="Person"> import { reactive, toRefs, toRef } from 'vue'; //数据 let person = reactive({ name:'张三', age:18 }) //直接解构,解构出来的变量不是响应式的,所以template中无论是person.name 还是 name都不会改变 //本质是定义两个变量分别赋值 // let {name, age} = person; // let age = toRef(person, 'age'); //修改单个 let {name, age} = toRefs(person); //直接解构,解构出来的变量不是响应式的,本质是定义两个变量分别赋值 //方法 function changeName () { // person.name += '~'; name.value += '~'; console.log(name.value); } function changeAge() { // person.age += 1; age.value += 1; console.log(age.value); } </script> <style> .person { background-color: skyblue; box-shadow: 0 0 10px; /* 盒子阴影 */ border-radius: 10px; padding: 20px; } button { margin: 0 5px; } </style>
本文作者:如此而已~~~
本文链接:https://www.cnblogs.com/fragmentary/p/18626655
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步