Vue面试考点准备01

1.首先,请谈一下对Vue的理解?

我们都知道Vue是如今比较流行的一个用于创建用户界面的开源JavaScript渐进式框架,也是一个创建单页应用的Web应用框架。它有如下特点:

1)数据驱动:Vue是一个轻量级的框架,它只关注视图层,通过MVVM思想实现数据的双向绑定,数据驱动页面视图。所以开发者不用再操作dom对象,只需去思考业务逻辑。

2)组件化:Vue把一个单页面应用的各种模块拆分成了一个个单独的组件。我们只需对于各个组件进行实际的实现,如果需要使用它,我们就使用标签进行引用。这样可以降低整个系统的耦合度,方便调试以及提高可维护性。

3)单页Web应用(single page application,SPA):只有一个Web页面的应用,就是所有必要的代码(HTML、JavaScript和CSS)都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面。并在用户与应用程序交互时动态更新该页面的Web应用程序。

补充:

a. 单页面应用程序:只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据。然后, 由页面中js解析获取的数据, 展示在页面中。

b. 多页面应用程序:对于传统的多页面应用程序来说,每次请求服务器返回的都是一个完整的页面,即需要重新加载html、css、js文件。

2.上面说Vue是一款渐进式框架,谈一下对渐进式框架的理解?

首先渐进式是Vue的设计理念。Vue.js

最突出的优势在于可以对数据进行双向绑定,也就是声明式渲染。如上图所示,Vue还有组件系统、客户端路由、大规模状态管理、构建工具等完整的功能,他们之间都是相互独立的,我们可以在核心功能上选用其他部件。我们可以理解为只要自己想要部分,只做自己想做的事。

3. 解释一下MVVM(数据驱动)

MVVM 是 Model-View-ViewModel 的缩写。Model代表模型层,负责处理业务逻辑以及和服务器端进行交互;

View代表视图层,它负责将数据模型转化成UI 展现出来

ViewModel代表视图模型层,用来连接Model和View,是Model和View之间的通信桥梁,监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View。DOMListeners和DataBindings是实现双向绑定的关键。DOMListeners监听页面所有View层DOM元素的变化,当发生变化,Model层的数据随之变化;DataBindings监听Model层的数据,当数据发生变化,View层的DOM元素随之变化。如下图:

4. 双向绑定的原理

Vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。双向数据绑定都是基于Object.defineProperty()重新定义get和set方法实现的。修改触发set方法赋值,获取触发get方法取值,并通过数据劫持发布信息。示例:

1)new Vue()首先执行初始化,对data执行响应化处理,这个过程发生Observe中

2)同时对模板执行编译,找到其中动态绑定的数据,从data中获取并初始化视图,这个过程发生在Compile中

3)同时定义⼀个更新函数和Watcher,将来对应数据变化时Watcher会调用更新函数

4)由于data的某个key在⼀个视图中可能出现多次,所以每个key都需要⼀个管家Dep来管理多个Watcher

5)将来data中数据⼀旦发生变化,会首先找到对应的Dep,通知所有Watcher执行更新函数。

5. Vue组件之间的通信有哪些?

a. 父传子 props;b. 子传父 $emit;c. Vuex 状态管理器(详情见此文)

6. 对Vue指令的理解

vue一共为我们提供了14种内置指令:v-text  v-html  v-show  v-ifv-elsev-else-ifv-forv-on  v-bind  v-model  v-slot  v-pre  v-cloak  v-once。它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribute)。指令的本质就是语法糖或者说是标志位,目的是为了操作DOM,将操作DOM的逻辑封装成指令(简化代码量),然后交给编译器,最后生成js代码来渲染我们的页面

7.v-show和v-if、v-bind 和v-on 指令的区别

它们都是控制元素的显示和隐藏。但是实现本质方法不同,

v-show本质就是通过控制css中的display设置为none,控制隐藏,只会编译一次;不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

v-if是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。v-if是动态的向DOM树内添加或者删除DOM元素。v-if也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

而且v-if不停的销毁和创建比较消耗性能。如果要频繁切换某节点,使用v-show(切换开销比较小,初始开销较大)。如果不需要频繁切换某节点使用v-if(初始渲染开销较小,切换开销比较大)。

v-bind 绑定用来将html标签中相关属性绑定到vue实例中,日后通过对vue实例中数据改变,影响到对应标签中属性值变化。

v-on 指令用于绑定HTML事件。

8. 简述computed和watch的区别

答:computed:是计算属性。为了应对复杂的逻辑计算。有缓存,只有当缓存改变时才执行(即只执行一遍getter)。当一个属性受多个属性影响的时候就需要用到computed。例如:购物车商品总价结算。

watch:是侦听属性。对数据的变化作出反应,没有缓存,从新渲染就会执行。当一条数据影响多条数据的时候就需要用watch。例如:搜索数据。

9. 简述Vue的生命周期。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,248评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,681评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,443评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,475评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,458评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,185评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,451评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,112评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,609评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,083评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,163评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,803评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,357评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,357评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,590评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,636评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,925评论 2 344

推荐阅读更多精彩内容