"Vue项目中遇到的难点面试" 本资源摘要信息主要集中在Vue项目中遇到的难点面试问题,涵盖了Vue的基本原理、双向数据绑定的原理、MVVM、MVC、MVP的区别等相关知识点。 1. Vue的基本原理 Vue的基本原理是基于数据劫持结合发布者-订阅者模式,通过Object.defineProperty()来劫持各个属性的setter和getter,在数据变动时发布消息给订阅者,触发相应的监听回调。每个组件实例都有相应的watcher程序实例,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的setter被调用时,会通知watcher重新计算,从而致使它关联的组件得以更新。 2. 双向数据绑定的原理 双向数据绑定的原理是通过Object.defineProperty()来劫持各个属性的setter和getter,在数据变动时发布消息给订阅者,触发相应的监听回调。主要分为以下几个步骤:需要observe的数据对象进行递归遍历,包括子属性对象的属性,都加上setter和getter这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化;compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者,一旦数据有变动,收到通知,更新视图;Watcher订阅者是Observer和Compile之间通信的桥梁,主要做的事情是:在自身实例化时往属性订阅器(dep)里面添加自己;自身必须有一个update()方法;待属性变动dep.notice()通知时,能调用自身的update()方法,并触发Compile中绑定的回调,则功成身退。 3. MVVM、MVC、MVP的区别 MVVM、MVC、MVP是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率。在开发单页应用时,往往一个路由页面对应了一个脚本文件,所有的页面逻辑都在一个脚本文件里。页面的渲染、数据的获取、对用户事件的响应所有的应用逻辑都混合在一起,这样在开发简单项目时,可能看不出什么问题,如果项目变得复杂,那么整个文件就会变得冗长、混乱,这样对项目开发和后期的项目维护是非常不利的。 MVVM模式分为Model、View、ViewModel:Model代表数据模型,数据和业务逻辑都在Model层中定义;View代表UI视图,负责数据的展示;ViewModel负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作;Model和View并无直接关联,而是通过ViewModel来进行联系的,Model和ViewModel之间有着双向数据绑定的联系。因此当Model中的数据改变时会触发View层的刷新,View中由于用户交互操作而改变的数据也会在Model中同步。 MVC模式通过分离Model、View和Controller的方式来组织代码结构。其中View负责页面的显示逻辑,Model负责存储页面的业务数据,以及对相应数据的操作。并且View和Model应用了观察者模式,当Model层发生改变的时候它会通知关联的View层更新页面。Controller层是View层和Model层的纽带,它主要负责用户与应用的响应操作,当用户与页面产生交互的时候,Controller中的事件触发器就开始工作了,通过调用Model层,来完成对Model的修改,然后Model层再去通知View层更新。

















剩余74页未读,继续阅读

- 粉丝: 84
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【IOS应用源码】类似HTC ONE x的设计界面上下滑动效果.zip
- 【IOS应用源码】类似mac电脑下面的dock.zip
- 【IOS应用源码】类似于ios内置的图片浏览器的demo.zip
- 【IOS应用源码】类似苹果内置谷歌地图的翻页效果.zip
- 【IOS应用源码】类似于谷歌地图线路搜索的一个组件demo.zip
- 【IOS应用源码】类似于安卓的可以添加或删除主界面的效果demo.zip
- 【IOS应用源码】类似于海豚浏览器,滑动左边可以显示侧边栏导航的效果demo.zip
- 【IOS应用源码】利用OpenGL固定流水线绘制球体OpenGLTest.zip
- 【IOS应用源码】利用OpenCL生成球体顶点 OpenCL_sphere.zip
- 双三相SVPWM(二矢量)空间电压矢量调制技术应用于双三相永磁同步电机与感应电机的矢量控制策略
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md



- 1
- 2
- 3
- 4
- 5
- 6
前往页