vue3函数setUp和reactive函数详细讲解

1 setUp的执行时机
我们都知道,现在vue3是可以正常去使用methods的。
但是我们却不可以在setUp中去调用methods中的方法。
为什么了???
我们先了解一下下面这两个生命周期函数,分别是:
beforeCreate 表示data 中的数据还没有初始化,是不可以使用的
Created : data已经被初始化了,可以使用
setUp在beforeCreate 和 Created 这两个函数之间。
是不是就知道为啥setUp中不可以去调用methods中的方法了。
2.setUp中无法使用data中的数据和调用methods的方法

3.setUp函数的注意点
(1)由于我们不能够在setUp函数中使用data和methods.
所以vue为了避免我们的错误使用,直接将setUp函数中的this
修改成为了undefined

(2) setUp函数只能够数同步的,不能够是异步的哈。
就是说你不能够这样操作
async setup(){

},
这样会导致界面空白哈
4 Vue3中的reactive
在Vue2中响应式数据是通过de fineProperty来实现的.
而在Vue3中响应式数据是通过ES6的Proxy来实现的

reactive需要的注意点
reactive参数必须是对象(json/arr)
如果给reactive传递了其它对象
默认情况下修改对象,界面不会自动更新
如果想更新,可以通过重新赋值的方式
5 reactive传入字符串数据不跟新

  • {{str}}

6 reactive传入数组

  • {{arr}}

7 reactive传入其他对象的跟新方式

  • {{sate.time}}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue 3,我们可以同时使用`setup`函数和`setup`语法糖。在组件中,`setup`函数是一个特殊的函数,用于替代Vue 2中的选项式API(如created、mounted等)。它接收两个参数:props和context。 使用`setup`函数时,我们可以在其中访问到组件的props,并且可以返回响应式的数据、计算属性、方法等供模板使用。例如: ```javascript <script> import { ref, reactive } from 'vue'; export default { props: { message: String, }, setup(props) { const count = ref(0); // 响应式数据 const state = reactive({ name: 'John', age: 25, }); // 响应式对象 const increaseCount = () => { count.value++; }; // 响应式方法 return { count, state, increaseCount, }; }, }; </script> ``` 在模板中,我们可以直接使用`count`、`state`以及`increaseCount`: ```html <template> <div> <p>{{ message }}</p> <p>Count: {{ count }}</p> <p>Name: {{ state.name }}</p> <p>Age: {{ state.age }}</p> <button @click="increaseCount">Increase Count</button> </div> </template> ``` 除了使用`setup`函数外,Vue 3还引入了`<script setup>`语法糖,它可以更简洁地定义和使用响应式数据、计算属性、方法等。使用`<script setup>`时,我们无需再定义`props`选项,而是直接通过`defineProps`和`withDefaults`来声明和获取props。 下面是一个使用`<script setup>`的示例: ```html <template> <div> <p>{{ message }}</p> <p>Count: {{ count }}</p> <p>Name: {{ state.name }}</p> <p>Age: {{ state.age }}</p> <button @click="increaseCount">Increase Count</button> </div> </template> <script setup> import { ref, reactive } from 'vue'; const message = 'Hello Vue 3'; // 响应式数据 const count = ref(0); // 响应式数据 const state = reactive({ name: 'John', age: 25, }); // 响应式对象 const increaseCount = () => { count.value++; }; // 响应式方法 </script> ``` 可以看到,使用`<script setup>`可以使代码更简洁和易读。 综上所述,Vue 3中可以同时使用`setup`函数和`<script setup>`语法糖来定义组件的行为,并且它们可以混用,根据个人喜好和项目需求选择使用方式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值