前端⾯试之vue是什么?有什么优点?
⽂章⽬录
⼀、vue是什么?
Vue.js 是⼀套构建⽤户界⾯的 渐进式框架。与其他重量级框架不同的是,Vue 采⽤⾃底向上增量开发的设计。Vue 的核⼼库只关注视图层,并且⾮常容易学习,⾮常容易与其它库或已有项⽬整合。另⼀⽅⾯,Vue 完全有能⼒驱动采⽤单⽂件组件和 Vue ⽣态系统⽀持的库开发的复杂单页应⽤。
Vue的⽬标就是通过尽可能简单的api实现响应式的数据绑定和组合的视图组件。
1. 什么是渐进式的框架?
2. 什么是视图层?
3. 单⽂件组件?和复杂单页应⽤是什么?
4. 什么是响应式的数据绑定?
jquery是什么功能组件且听我细细道来
⼆、Vue.js到底是什么?
⽤于搭建表单项繁多,且内容需要根据⽤户的操作进⾏修改的⽹页版应⽤
三、单页应⽤程序(single page web application SPA)
在说单页应⽤程序之前,先说⼀下 多页⾯应⽤程序。多页⾯(MPA)就是指⼀个应⽤中有多个页⾯,页⾯跳转时是整页刷新。
单页应⽤程序是加载单个Html页⾯并在⽤户与应⽤程序交互时动态更新该页⾯的web应⽤程序。顾名思义,单页应⽤⼀般指的就是⼀个页⾯就是⼀个应⽤,当然也可以是⼀个⼦应⽤。单页应⽤程序中⼀般交互处理⾮常多,且页⾯当中的内容需要根据⽤户的操作进⾏动态的变化。
单页web应⽤的优点:
提供了更加吸引⼈的⽤户体验,具有桌⾯应⽤的即时性,⽹站的可移植性和可可访问性。
单页应⽤的内容改变不需要重新加载整个页⾯,web更具相应
单页应⽤没有页⾯之间的切换,就不会出现“⽩屏”现象,也不会出现假死并且有“闪烁”的现象
单页应⽤相对服务器来说压⼒较⼩,服务器只需要出数据就可以,不⽤管展⽰逻辑和页⾯的合成,吞吐能⼒会提⾼⼏倍
良好的前后端分离,后端不再负责模板渲染,输出页⾯⼯作,后端API通⽤化
完全的前端组件化开发,不再以页⾯为单位,更多地采⽤组件化的思想,代码解构和组织⽅式更加地规范化,便于修改和调整。
单页web应⽤的缺点
⾸次加载耗时⽐较多
SEO问题,不利于SEO优化,单页页⾯,数据在前端渲染,就意味着没有SEO
容易造成css命名冲突
页⾯的导航不可⽤,如果⼀定要导航需要⾃⾏实现前进,后退。(由于单页⾯不能⽤浏览器的前进后退功能,所以需要⾃⼰建⽴起堆栈管理)
四、什么是渐进式的框架?
渐进式代表的含义是:没有多做职责以外的事情,主张较少,可以根据不同的需求选择不同的层级;
vue.js只提供了vue-cli⽣态中最核⼼的组件系统和双向的数据绑定。像vuex、vue-router都属于围绕vue.js开发的库。
⽐如你要使⽤Augular,就必须强制接受以下的东西:
必须使⽤它的模块机制
必须使⽤它的依赖注⼊
必须使⽤它的特使形式定义组件(这⼀点每个视图框架都有,难以避免)
so,Augular是带有⽐较强的排他性,如果你的应⽤不是从头开始的话,是需要不断地去考虑是否与其他的东西去进⾏集成,这些主张会带来⼀些的困扰。
⽐如,你要使⽤react.你必须理解:
函数式编程的理念
需要明⽩知道什么是副作⽤
什么是纯函数
如何隔离副作⽤
它的⼊侵性没有angular那么强,主要是因为他是软性侵⼊
Vue与React/Angular的不同,他就是渐进式的
你可以在原有的系统上⾯,把⼀两个组件改⽤它来实现,当jQuery来⽤
也可以整个⽤它来进⾏全家桶开发, 当Augular来⽤
还可以⽤它的视图,搭配你⾃⼰设计的整个下层来⽤
也可以函数式,都可以,他只是个轻量的视图⽽已,只是做了最核⼼的东西
五、什么是视图层?
其实把页⾯抽象出来之后,我们会发现html⾥⾯的dom其实就是试图,⼀个⽹页其实就是视图的组合和嵌套,形成了最基本的视图结构,再通过css的修饰,然后再到JavaScript来的交互部分,通过接受⽤户的交互请求与,并且通过事件机制来响应⽤户的交互操作,并且在事件处理函数中进⾏各种数据
的修改。
我们把html中的dom就可以与其他的部分独⽴开来划分出⼀个层次,这个层次就叫做视图层。
⽽我们的vue的核⼼库,就是只关注视图层。
六、响应式的数据绑定
vue会⾃动响应数据的变化情况,并且根据⽤户在代码中预先写好的绑定关系,对所有绑定在⼀起的数据和视图内容进⾏修改,使⽤v-model属性实现双向的数据绑定。所以,vue.js也被⼈称为声明式渲染的模版引擎。
Vue.js数据观测原理在技术实现上,利⽤的是ES5Object.defineProperty和存储器属性:getter和setter(所以只兼容IE9及以上),可称为基于依赖收集的观测机制。核⼼是VM,即ViewModel,保证数据和视图的⼀致性。
七、组件
Vue.js通过组件,把⼀个单页应⽤中的各种模块拆分到⼀个⼀个单独的组件(component)中,我们只要先在⽗级应⽤中写好各种组件标签(占坑),并且在组件标签中写好要传⼊组件的参数(就像给
函数传⼊参数⼀样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑),然后整个应⽤就算做完了。
⼋、Vue的优点总结如下
1. 轻量级的框架,只关注视图层,是⼀个构建数据的视图集合,⼤⼩只有⼏⼗KB
2. 简单易学,国⼈开发,中⽂⽂档,不存在语⾔障碍,便于理解和学习
3. 双向数据绑定,在数据操作中较为简单
4. 组件化,⽤可复⽤,解耦的组件来构建页⾯
5. 数据驱动:⾃动计算属性和追踪依赖的模板表达式
6. 虚拟DOM:DOM操作是⼗分耗费性能的,不再使⽤原⽣的dom操作节点,极⼤地解放了dom操作,但具体操作还是dom,只不过换
了⼀种⽅式
仗剑天涯,从你的努⼒开始
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论