reactive创建对象类型的响应式数据

ref创建基本类型的响应式数据
  • template里面不需要用.value
  • 但js中使用ref的都要用.value

下面为反例

csharp 复制代码
 //数据
 let name=ref('张三')
   let age=ref(18)
   let tel='123456789'//不用响应式
   //方法
  function changename(){
   name='asd'//这样会报错,需要加.value
  }
  function changeage(){
   age+=1
 }
 function showTel(){
   alert(tel)
 }

举例

xml 复制代码
 <script lang="ts" setup name="person">
 import {ref} from 'vue'
 // let a=666
 //数据
 let name=ref('张三')
   let age=ref(18)
   let tel='123456789'//可不用响应式
   //方法
  function changename(){
   name.value='asd'
  }
  function changeage(){
   age.value+=1
 }
 function showTel(){
   alert(tel)
 }
 </script>
 ​

reactive创建对象类型的响应式数据

reactive是深层次的,ref是浅层次的

reactive局限性:

reactive包裹的对象不可整体修改

xml 复制代码
 <template>
   <div class="person">
 <h2>
  汽车信息: 一辆{{ car.brand }}车,价值{{ car.price }}万
 </h2>
 <button @click="changePrice">修改汽车的价格</button>
 <br>
 <h2>游戏列表</h2>
 <ul>
   <li v-for="g in games" :key="g.id">{{ g.name }}</li>
   <button @click="changename">修改第一个游戏的名字</button>
 </ul>
   </div>
 </template>
 ​
 ​
 ​
 //这个script配置组件API
 <script lang="ts" setup name="person">
 ​
 import {reactive} from 'vue'
 ​
 //数据
 let car=reactive({
   brand:'奔驰',price:100
 })
 let games=reactive([
   {id:'01',name:'aa'},
   {id:'02',name:'bb'},
   {id:'03',name:'cc'}
 ])
   //方法
  function changePrice(){
   car.price+=10
  }
  function changename(){
   games[0].name='kkk'
  }
 </script>
 <style>
 .person{
 background-color: rgb(178, 178, 216);
 box-shadow: 0 0 10px;
 border-radius: 10px;
 padding: 20px;
 ​
 }
 button{
   margin: 0 5px;
 }
 li{
   font-size: 20px;
 }
 </style>

ref可以定义 基本类型、对象类型的响应式数据

reactive只能定义 对象类型的响应式数据

ref和reactive区别:

ref创建的变量必须使用.value

reactive 重新分配一个新对象,会失去响应式

相关推荐
Highcharts.js11 分钟前
缺失数据可视化图表开发实战|Highcharts创建人员出生统计面积图表示例
开发语言·前端·javascript·信息可视化·highcharts·图表开发
LaughingZhu7 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
怕浪猫7 小时前
Electron 开发实战(一):从零入门核心基础与环境搭建
前端·electron·ai编程
小鹏linux8 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
前端若水9 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Bigger9 小时前
mini-cc:一个轻量级 AI 编程助手的诞生
前端·ai编程·claude
涵涵(互关)9 小时前
Naive-ui树型选择器只显示根节点
前端·ui·vue
BY组态9 小时前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态
BY组态9 小时前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·物联网·iot·web组态·组态
SoaringHeart9 小时前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter