Vue的双向数据绑定原理是什么( 六 )


2.与React的区别
相同点:React采用特殊的JSX语法,Vue.js在组件开发中也推崇编写.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用;中心思想相同:一切都是组件,组件实例之间可以嵌套;都提供合理的钩子函数,可以让开发者定制化地去处理需求;都不内置列数AJAX,Route等功能到核心包,而是以插件的方式加载;在组件开发中都支持mixins的特性 。不同点:React采用的Virtual DOM会对渲染出来的结果做脏检查;Vue.js在模板中提供了指令,过滤器等,可以非常方便,快捷地操作Virtual DOM 。
对keep-alive 的了解?
keep-alive是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染 。
在vue 2.1.0 版本之后,keep-alive新加入了两个属性: (包含的组件缓存) 与 (排除的组件不缓存,优先级大于)。
vue常用的修饰符?
答:.: 提交事件不再重载页面;.stop: 阻止单击事件冒泡;.self: 当事件发生在该元素本身而不是子元素的时候会触发;.: 事件侦听,事件发生的时候会调用, . (组件)原生点击事件
vue等单页面应用及其优缺点
答:
一句话就能回答的小问题
css只在当前组件起作用
答:在style标签中写入即可 例如:
v-if 和 v-show 区别
答:v-if按照条件是否渲染,v-show是的block或none;
vue.js的两个核心是什么?
数据驱动、组件系统
vue几种常用的指令
答:v-for 、 v-if 、v-bind、v-on、v-show、v-else
怎么定义 vue- 的动态路由? 怎么获取传过来的值
答:在目录下的 index.js 文件中,对 path 属性加上/:id,使用 $route..id 获取 。
Vue为什么没有类似于React中e的生命周期?
考点: Vue的变化侦测原理
前置知识: 依赖收集、虚拟DOM、响应式系统
根本原因是Vue与React的变化侦测方式有所不同
React是pull的方式侦测变化,当React知道发生变化后,会使用 Dom Diff进行差异检测,但是很多组件实际上是肯定不会发生变化的,这个时候需要用e进行手动操作来减少diff,从而提高程序整体的性能.
Vue是pull+push的方式侦测变化的,在一开始就知道那个组件发生了变化,因此在push的阶段并不需要手动控制diff,而组件内部采用的diff方式实际上是可以引入类似于e相关生命周期的,但是通常合理大小的组件不会有过量的diff,手动优化的价值有限,因此目前Vue并没有考虑引入e这种手动优化的生命周期.
参考
面试必备的13道可以举一反三的Vue面试题
Vue面试中,经常会被问到的面试题/Vue知识点整理
vue系列之面试总结
前端,发布/订阅模式,Vue双向数据绑定
Vue双向绑定原理,教你一步一步实现双向绑定
通俗易懂了解Vue双向绑定原理及实现
深入响应式原理
vue组件间通信六种方式(完整版)