vue3的setup语法糖 以及数据响应式的实现

目录

首先,之前的文章有提起,setup可以将数据定义,方法定义等写到一起,但是有些复杂,为此vue团队对其进行 优化

基本数据类型: 

引用数据类型


首先,之前的文章有提起,setup可以将数据定义,方法定义等写到一起,但是有些复杂,为此vue团队对其进行 优化

  

<template>
<div> 
<h3> {{num}}</h3>
  <button>修改num</button>
</div>
</template>
<script setup>
  let num=10
  const changenum=()=>{
    num++
   console.log(num)
}
</script>

运行代码发现控制台num确实更新了,但是页面上没有变化,接下来我们让数据具有响应式

基本数据类型: 

     基本数据类型响应式的实现,一般都是使用ref来进行实现

<template>
<div> 
<h3> {{num}}</h3>
  <button @click='changenum'>修改num</button>
</div>
</template>
<script setup>
import {ref} from 'vue'
  let num=ref(10)
  const changenum=()=>{
    num.value++
   console.log(num)
}
</script>

此时运用浏览器的vue插,件可以发现,数据具有响应式,点击发现页面有所更新

引用数据类型

如果是引用数据类型有要如何进行响应式呢?使用reactive

<template>
<div> 

<p>姓名{{obj.name}}</p>
<p>年龄{{obj.age}}</p>
  <button @click='changeage'>修改年龄</button>

</div>
</template>
<script setup>
import {reactive} from 'vue'
  let obj=reactive({name:'张三',age:'18'})
  const changeage=()=>{
    obj.age++
  
}
</script>

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Vue 3 ,除了可以使用 `ref` 和 `reactive` 创建响应式数据并将其暴露给外部,还可以使用一些 setup 语法糖来简化代码。以下是一些常用的 setup 语法糖: 1. `ref`:可以直接在 `setup` 函数使用 `ref` 语法糖创建响应式数据,例如: ```javascript import { defineComponent } from 'vue'; export default defineComponent({ setup() { const count = ref(0); return { count }; } }); ``` 2. `reactive`:可以直接在 `setup` 函数使用 `reactive` 语法糖创建响应式对象,例如: ```javascript import { defineComponent } from 'vue'; export default defineComponent({ setup() { const state = reactive({ count: 0, message: 'Hello' }); return { state }; } }); ``` 3. `computed`:可以直接在 `setup` 函数使用 `computed` 语法糖创建计算属性,例如: ```javascript import { defineComponent, computed } from 'vue'; export default defineComponent({ setup() { const count = ref(0); const doubleCount = computed(() => { return count.value * 2; }); return { count, doubleCount }; } }); ``` 4. `watch`:可以直接在 `setup` 函数使用 `watch` 语法糖监听响应式数据的变化,例如: ```javascript import { defineComponent, watch } from 'vue'; export default defineComponent({ setup() { const count = ref(0); watch(count, (newValue, oldValue) => { console.log(`count changed from ${oldValue} to ${newValue}`); }); return { count }; } }); ``` 通过使用这些 setup 语法糖,可以更加简化代码,并且提高代码的可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怠惰小白程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值