没有合适的资源?快使用搜索试试~ 我知道了~
2023(完整版)vue面试题及答案(最新整理).pdf
25 下载量 72 浏览量
2023-06-28
16:57:34
上传
评论 3
收藏 989KB PDF 举报
温馨提示
试读
52页
2023年(完整版)vue面试题及答案(最新整理).pdf
资源推荐
资源详情
资源评论
1
/
52
2023 前端之 VUE 面试题汇总
1. Vue 的基本原理
当 一 个 Vue 实 例 创 建 时 , Vue 会 遍 历 data 中 的 属
性 , 用 Object.defineProperty ( vue3.0 使 用 proxy) 将 它 们
转 为 getter/setter,并且在内部追踪相关依赖,在属性被访问和修改
时 通知变化。 每个组件实例都有相应的 watcher 程序实例,它会在
组 件渲染的过程中把属性记录为依赖,之后当依赖项的 setter 被调用
时,会通知 watcher 重新计算,从而使它关联的组件得以更新。
工欲善其事必先利其器,Mac 一定是开发一人的必备选择,懂得都懂
推荐 mac 配置指北 https://juejin.cn/post/6844904050303959053
2
/
52
2. 双向数据绑定的原理
Vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过
Object.defineProperty()来劫持各个属性的 setter,getter,在数 据
变动时发布消息给订阅者,触发相应的监听回调。主要分为以下几 个
步骤:
1.需要 observe 的数据对象进行递归遍历,包括子属性对象的属性,
都加上 setter 和 getter 这样的话,给这个对象的某个值赋值,就会
触发 setter,那么就能监听到了数据变化
2.compile 解析模板指令,将模板中的变量替换成数据,然后初始化 渲
染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数 据
的订阅者,一旦数据有变动,收到通知,更新视图
3.Watcher 订阅者是 Observer 和 Compile 之间通信的桥梁,主要
做 的事情是: ①在自身实例化时往属性订阅器(dep)里面添加自己 ②
自身必须有一个 update()方法 ③待属性变动 dep.notice()通知时,
能调用自身的 update()方法,并触发 Compile 中绑定的回调,则成
功 成身退。
3
/
52
4.MVVM 作为数据绑定的入口,整合 Observer、Compile 和
Watcher 三者,通过 Observer 来监听自己的 model 数据变化,通
过 Compile 来解析编译模板指令,最终利用 Watcher 搭起
Observer 和 Compile 之间的通信桥梁,达到数据变化 -> 视图更新;
视图交互变化(input)-> 数据 model 变更的双向绑定效果。
3. MVVM、MVC、MVP 的区别
MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过
分离 关注点的方式来组织代码结构,优化开发效率。
4
/
52
在开发单页面应用时,往往一个路由页面对应了一个脚本文件,所有 的
页面逻辑都在一个脚本文件里。页面的渲染、数据的获取,对用户来说
事件的响应所有的应用逻辑都混合在一起,这样在开发简单项目时,可
能看不出什么问题,如果项目变得复杂,那么整个文件就会变得冗 长、
混乱,这样对项目开发和后期的项目维护是非常不利的。
(1)MVC
MVC 通过分离 Model、View 和 Controller 的方式来组织代码结构。
其中 View 负责页面的显示逻辑,Model 负责存储页面的业务数据,
以及对相应数据的操作。并且 View 和 Model 应用了观察者模式,
当 Model 层发生改变的时候它会通知有关 View 层更新页面。
Controller 层是 View 层和 Model 层的纽带,它主要负责用户与应
用的响应操作,当用户与页面产生交互的时候,Controller 中的事 触
发器就开始工作了,通过调用 Model 层,来完成对 Model 的修 改,
然后 Model 层再去通知 View 层更新。
5
/
52
剩余51页未读,继续阅读
资源评论
木羽(。>ㅿ<。)
- 粉丝: 19
- 资源: 59
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功