5、reactive

作用

reactive`用来定义:对象类型数据

reactive重新分配一个新对象,会失去响应式(可以使用Object.assign`去整体替换)。

代码

复制代码
<template>
<div>
    
    <h2>{{ info.name }}</h2>
    <h2>{{ info.age }}</h2>
    <button @click="updateName">修改名字</button>
    <button @click="updateAge">修改年龄</button>
    <button @click="showPhone">显示联系方式</button>
</div>
</template>

<script setup lang="ts" name="Student">
    import { reactive } from 'vue';
    let info=reactive({name:'weiwei',age:18})
    function updateName(){
        info.name="李四"
    }
    function updateAge(){
        info.age+=1
        
    }
    function showPhone(){
        alert("18880709")
    }
</script>

<style scoped>

</style>

重新分配一个新对象代码

复制代码
<template>
<div>
    
    <h2>{{ info.name }}</h2>
    <h2>{{ info.age }}</h2>
    <button @click="updateName">修改名字</button>
    <button @click="updateAge">修改年龄</button>
    <button @click="updateInfo">修改名字和年龄</button>
    <button @click="showPhone">显示联系方式</button>
</div>
</template>

<script setup lang="ts" name="Student">
    import { reactive } from 'vue';
    let info=reactive({name:'weiwei',age:18})
    function updateName(){
        info.name='李四'
    }
    function updateAge(){
        info.age+=1
        
    }
    function showPhone(){
        alert("18880709")
    }
    function updateInfo(){
        Object.assign(info,{name:'王五',age:38})
    }
</script>

<style scoped>

</style>
相关推荐
小菜全10 小时前
uniapp基础组件概述
前端·css·vue.js·elementui·css3
小天呐10 小时前
qiankun 微前端接入实战
前端·js·微前端
周航宇JoeZhou10 小时前
JP4-7-MyLesson后台前端(五)
java·前端·vue·elementplus·前端项目·mylesson·管理平台
车口10 小时前
滚动加载更多内容的通用解决方案
javascript
Yaavi10 小时前
一个基于markdown的高性能博客模板
前端·开源·源码
艾小码11 小时前
手把手教你实现一个EventEmitter,彻底告别复杂事件管理!
前端·javascript·node.js
幸福摩天轮11 小时前
npm发布包
前端
前端AK君11 小时前
Gitlab 线上合并冲突的坑
前端
ze_juejin11 小时前
ES6 Module 深入学习
前端
章丸丸11 小时前
Tube - Studio Videos
前端·后端