1、App.vue代码如下:
<template> <div class="app"> <h1>好好学习,天天向上</h1> <Person/> </div> </template> <script> // JS或TS import Person from './view/Person.vue' export default { // App为根组件 name: 'App', // 注册Person组件,注册后,在本单元中可以直接使用Person组件 components: {Person} } </script> <!--样式 scoped表示仅本单元有效--> <style scoped> .app { background-color: #ddd; box-shadow: 0 0 10px; border-radius: 10px; padding: 20px; } </style>
2、Person.vue代码如下:
<template> <div class="person"> <h2>姓名:{{ person.name }}</h2> <h2>年龄:{{ person.age }},{{ nl }}</h2> <button @click="changeName">修改名字</button> <button @click="changeAge">修改年龄</button> </div> </template> <script lang="ts" name="Person001" setup> import {reactive, toRef, toRefs} from 'vue' // 数据变成响应式 let person = reactive({ name: '张三', age: 18 }) // toRefs是用来将一个对象的全部属性变成响应式的 let {name, age} = toRefs(person) // toRef是用来将一个对象的某个属性变成响应式的 let nl = toRef(person, 'age') function changeName() { name.value += '~' } function changeAge() { age.value += 1 } </script> <style scoped> .person { background-color: #ddd; box-shadow: 0 0 10px; border-radius: 10px; padding: 20px; button { margin: 0 5px; } } </style>
3、效果如下:
标签:TypeScript,name,person,age,toRefs,toRef,Person From: https://www.cnblogs.com/tianpan2019/p/18364851