9 Vue3.x 面试题 (SY)

 

1,vue3比vue2,有什么优势?

 

性能更好

体积更小

更好的ts支持

更好的代码组织

更好的逻辑抽离

更多新功能

2,描述vue3生命周期

  • Options API 生命周期

    • beforeDestroy 改为 beforeUnmount

    • destroyed 改为 unmounted

    • 其他沿用 Vue2 的生命周期

  • Composition API 生命周期

    • 差不多,从 vue 中引入使用罢了

    • 不过前面都加上on

    • import { onBeforeMount } from 'vue'

setUp 从生命周期上来讲,等于 beforeCreate 和 created,所以 composition API 是没有 beforeCreate 和 created 生命周期的

3, composition api 和 options api ?

4,如何理解 ref toRef 和 toRefs ?

 

Vue3.0中的reactive
reactive 是 Vue3 中提供的实现响应式数据的方法。
在 Vue2 中响应式数据是通过 defineProperty 来实现的,
在 Vue3 中响应式数据是通过 ES6 的 Proxy来实现的。
reactive 参数必须是对象 (json / arr)
如果给 reactive 传递了其它对象
默认情况下,修改对象无法实现界面的数据绑定更新。
如果需要更新,需要进行重新赋值。(即不允许直接操作数据,需要放个新的数据来替代原数据)
#### 在 reactive 使用基本类型参数

基本类型(数字、字符串、布尔值)在 reactive 中无法被创建成 proxy 对象,也就无法实现监听。
 

<template>
<div>
  <p>{{msg}}</p>
  <button @click="c">button</button>
</div>
</template>
 
<script>
import { reactive } from 'vue'
export default {
  name: 'App',
  setup() {
    let msg = reactive(0)
    function c() {
      console.log(msg);
      msg ++;
    }
    return {
      msg,
      c
    };
  }
}
</script>

toRefs

将响应式对象 (reactive封装)转换为普通对象

对象的每个prop都是对应的ref

两者保持引用关系

了解toRef:
        创建一个 ref 对象,其value值指向另一个对象中的某个属性。

        语法:const name = toRef(person,'name')

        应用: 要将响应式对象中的某个属性单独提供给外部使用时。

        扩展:toRefs 与toRef功能一致,但可以批量创建多个 ref 对象,语法:toRefs(person)
 

使用toRef 

        首先引入toRef方法 然后在返回的时候调用toRef并传入要返回的对象里面的哪个值,就可以实现响应式数据了

使用toRefs

        引入toRefs方法 我们还可以使用toRefs来包装多个ref数据  解构之后返回 模板中也可以使用

Vue3中toRef和toRefs的使用方法_李公子丶的博客-CSDN博客了解toRef:创建一个 ref 对象,其value值指向另一个对象中的某个属性。语法:const name = toRef(person,'name')应用: 要将响应式对象中的某个属性单独提供给外部使用时。扩展:toRefs 与toRef功能一致,但可以批量创建多个 ref 对象,语法:toRefs(person)代码演示 我们在组件中定义了一个人的信息 并将定义的信息返回 在页面中使用<...https://blog.csdn.net/qq_54527592/article/details/119832001?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166323232516782390556950%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166323232516782390556950&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-2-119832001-null-null.142%5Ev47%5Enew_blog_pos_by_title,201%5Ev3%5Econtrol_2&utm_term=%20toRef%E5%92%8CtoRefs%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8&spm=1018.2226.3001.4187

ref、toRef和toRrefs最佳使用方式:

  1. 用reactive做对象的响应式,用ref做值类型的响应式(基本常识。。)

  2. setup中返回 toRefs(state),或者 toRef(state,‘xxx’)

  3. ref变量命名用 nameRef,ageRef

  4. 合成函数返回响应式对象时,使用toRefs,可以方便解构。

5,vue3升级了哪些重要的功能?

6,composition api 如何实现代码逻辑复用?

7,vue3如何实现响应式?

8,watch 和watchEffect 区别是什么?

9,setup中如何获取组件的实例?

10,vue3为何比vue2快?

11,vite是什么?

12,composition api 和 react hooks 对比?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值