Vue
# 一、 vue与react的对比,如何选型?从性能,生态圈,数据量,数据的传递上,作比较
- React和Vue有许多相似之处,它们都有:
使用 VirtualDOM
提供了响应式(Reactive)和组件化(Composable)的视图组件。
将注意力集中保持在核心库,伴随于此,有配套的路由和负责处理全局状态管理的库。
- 性能:
到目前为止,针对现实情况的测试中,Vue的性能是优于React的。
- 生态圈
Vue.js: ES6+Webpack+unit/e2e+Vue+vue—router+单文件组件+vuex+iVew
React: ES6+Webpack+Enzyme+React+React—router+Redux
- 什么时候选择Vue.js
如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue
如果你喜欢简单和”能用就行”的东西,请使用Vue
如果你的应用需要尽可能的小和快,请使用Vue
如果你计划构建—个大型应用程序,请使用React
如果你想要—个同时适用于Web端和原生App的框架,请选择React
如果你想要最大的生态圈,请使用React
详细参考:
http://cn.vuejs.org/v2/guide/comparison.html#React (opens new window)
http://blog.csdn.net/yzh_2017/article/details/54909166
# 二、 vue slot是做什么的?
简单来说,假如父组件需要在子组件内放—些D〇M,那么这些DOM是显示、不显示、在哪 个地方显示、如何显示,就是slot分发负责的活。
详细参考:http://cn.vueis.orq/v2/quide/comp〇nents.html#使用—Slot—分发内容 (opens new window)
# 三、 vue和angular的优缺点以及适用场合?
参见:《在选择框架的时候要从哪方面入手》—题
# 四、 vue路甶实现原理?
以官方仓库下examples/basic基础例子来—点点具体分析整个流程。
和流程相关的主要需要关注点的就是components、history目录以及create—matcher.js、 create—route—map.js、index.js,install.js。
从入口,作为插件,实例化VueRouter,实例化History,实例化Vue, defineReactive定 义_route, router—link和router—view组件等几个方面展开分析
必须参见:http://www.tuicool.com/articles/jQRnlrF
# 五、 你们vue项目是打包了—个js文件,—个css文件, 还是有多个文件?
根据vue—cli脚手架规范,—个js文件,—个CSS文件。
详细参见:
http://blog.csdn.net/lx376693576/article/details/54911340
https://zhuanlan.zhihu.com/p/24322005
# 六、 vue遇到的坑,如何解决的?
Vue1.0升级2.0有很多坑:生命周期;路由中引入静态js,全局组件,全局变量,全局 function; v—for循环的key, value值互换了位置,还有track—by; filter过滤器;遍历数组时, key值不能做model;父子通信等。
其他坑详见:
http://blog.csdn.net/lemon_zhao/article/details/55510589https://segmentfault.com/a/1190000008347498http://www.tuicool.com/articles/aUrmumV
# 七、 vue的双向绑定的原理,和angular的对比
在不同的MWM框架中,实现双向数据绑定的技术有所不同。
AngulaJS采用‘‘脏值检测”的方式,数据发生变更后,对于所有的数据和视图的绑定关系进 行—次检测,识别是否有数据发生了改变,有变化进行处理,可能进—步引发其他数据的改 变,所以这个过程可能会循环几次,—直到不再有数据变化发生后,将变更的数据发送到视 图,更新页面展现。如果是手动对ViewModel的数据进行变更,为确保变更同步到视图, 需要手动触发—次‘‘脏值检测”。
VueJS则使用ES5提供的〇bject.defineProperty()方法,监控对数据的操作,从而可以自 动触发数据同步。并且,由于是在不同的数据上触发同步,可以精确的将变更发送给绑定的 视图,而不是对所有的数据都执行—次检测。
详细参见:http://www.jianshu.eom/p/d3a15a1f94a0
# 八、 vue-cli,脚手架
安装:$ npminstaH—gvue—cli
使用:$ vueinit<template—name><project—name>
webpack配置详解:https://zhuanlan.zhihu.eom/p/24322005
# 九、 Vue里面router-link在电脑上有用,在安卓上没反应 怎么解决?
Vue路由在Android机上有问题,babel问题,安装babelpolypill插件解决。