Vue经典面试题总结(2)进阶篇

本文深入探讨Vue组件的渲染与更新过程,包括数据为何为函数、事件绑定原理、v-model实现及安全性问题、组件通信方式、生命周期调用顺序、性能优化策略等。同时涉及Vue3.0的改进、Vuex工作原理以及异步组件和路由守卫的应用。
摘要由CSDN通过智能技术生成

1、描述组件渲染和更新过程

渲染组件时,会通过 Vue.extend 方法构建子组件的构造函数,并进行实例化。最终手动调用 $mount() 进行挂载。更新组件时会进行 patchVnode 流程.核心就是diff算法

2、组件中的 data为什么是一个函数?

同一个组件被复用多次,会创建多个实例。这些实例用的是同一个构造函数,如果 data 是一个对象的 话。那么所有组件都共享了同一个对象。为了保证组件的数据独立性要求每个组件必须通过 data 函数 返回一个对象作为组件的状态。

3、Vue中事件绑定的原理

Vue 的事件绑定分为两种一种是原生的事件绑定,组件的事件绑定

(1)原生 dom 事件的绑定,采用的是 addEventListener 实现

  • Vue 在创建真是 dom 时会调用 createElm ,默认会调用 invokeCreateHooks
  • 会遍历当前平台下相对的属性处理代码,其中就有 updateDOMListeners 方法,内部会传入 add 方法

vue 中绑定事件是直接绑定给真实 dom 元素的

(2)组件绑定事件采用的是 $on 方法

组件绑定事件是通过 vue 中自定义的 $on 方法来实现的

4、v-model中的实现原理及如何自定义v-model?

v-model 可以看成是 value+input方法 的语法糖

5、Vue中v-html会导致哪些问题?

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值