当前位置: 首页 > news >正文

关于Vue.js面试题汇总

1、vue与react的对比,如何选型?从性能,生态圈,数据量,数据的传递上,作比较

(1)React 和 Vue 有许多相似之处,它们都有:

使用 Virtual DOM

提供了响应式(Reactive)和组件化(Composable)的视图组件。

将注意力集中保持在核心库,伴随于此,有配套的路由和负责处理全局状态管理的库。

(2)性能:

到目前为止,针对现实情况的测试中,Vue 的性能是优于 React 的。

(3)生态圈

Vue.js: ES6+Webpack+unit/e2e+Vue+vue-router+单文件组件+vuex+iVew

React: ES6+Webpack+Enzyme+React+React-router+Redux

(4)什么时候选择Vue.js

如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue

如果你喜欢简单和“能用就行”的东西,请使用Vue

如果你的应用需要尽可能的小和快,请使用Vue

如果你计划构建一个大型应用程序,请使用React

如果你想要一个同时适用于Web端和原生App的框架,请选择React

如果你想要最大的生态圈,请使用React

详细参考:

http://cn.vuejs.org/v2/guide/comparison.html#React

http://blog.csdn.net/yzh_2017/article/details/54909166


2、vue slot是做什么的?

简单来说,假如父组件需要在子组件内放一些DOM,那么这些DOM是显示、不显示、在哪个地方显示、如何显示,就是slot分发负责的活。

详细参考:

http://cn.vuejs.org/v2/guide/components.html#使用-Slot-分发内容


3、vue和angular的优缺点以及适用场合?

参见:《在选择框架的时候要从哪方面入手》一题


4、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/jQRnIrF


5、你们vue项目是打包了一个js文件,一个css文件,还是有多个文件?

根据vue-cli脚手架规范,一个js文件,一个CSS文件。

详细参见:

http://blog.csdn.net/lx376693576/article/details/54911340

https://zhuanlan.zhihu.com/p/24322005


6、vue遇到的坑,如何解决的?

Vue1.0升级2.0有很多坑: 生命周期;路由中引入静态js,全局组件,全局变量,全局function;v-for循环的key,value值互换了位置,还有track-by;filter过滤器;遍历数组时,key值不能做model;父子通信等。

其他坑详见:

http://blog.csdn.net/lemon_zhao/article/details/55510589

https://segmentfault.com/a/1190000008347498

http://www.tuicool.com/articles/aUrmumV


7、vue的双向绑定的原理,和angular的对比

在不同的 MVVM 框架中,实现双向数据绑定的技术有所不同。

AngularJS 采用“脏值检测”的方式,数据发生变更后,对于所有的数据和视图的绑定关系进行一次检测,识别是否有数据发生了改变,有变化进行处理,可能进一步引发其他数据的改变,所以这个过程可能会循环几次,一直到不再有数据变化发生后,将变更的数据发送到视图,更新页面展现。如果是手动对 ViewModel 的数据进行变更,为确保变更同步到视图,需要手动触发一次“脏值检测”。

VueJS 则使用 ES5 提供的 Object.defineProperty() 方法,监控对数据的操作,从而可以自动触发数据同步。并且,由于是在不同的数据上触发同步,可以精确的将变更发送给绑定的视图,而不是对所有的数据都执行一次检测。

详细参见:

http://www.jianshu.com/p/d3a15a1f94a0


8、vue-cli,脚手架

安装:$ npm install -g vue-cli

使用:$ vue init <template-name> <project-name>

webpack配置详解:

https://zhuanlan.zhihu.com/p/24322005


9、Vue里面router-link在电脑上有用,在安卓上没反应怎么解决?

Vue路由在Android机上有问题,babel问题,安装babel polypill 插件解决。


相关文章:

  • Android两次后退键退出
  • 敏捷开发与瀑布式开发的区别
  • [转] Webpack的devtool和source maps
  • 数据中心资源向AWS迁移的四大挑战
  • 区块链概况:什么是区块链
  • 二进制数字系统
  • js正则,这点儿就够用了
  • Vue2.0史上最全入坑教程(中)—— 脚手架代码详解
  • “美云启航 智数未来”——美云智数产品发布会圆满召开
  • ServletContext两个Servlet传值学习笔记
  • WPF 自定义TabControl控件样式
  • kvmgt-kernel 实现GPU虚拟化
  • 深入理解-CSS内联元素之font-size
  • 我为什么要关心区块链?概述和接纳
  • MySQL 5.7.20在RedHat 7.2上通过RPM包安装
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 03Go 类型总结
  • angular2 简述
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • HTML-表单
  • HTTP中GET与POST的区别 99%的错误认识
  • Mybatis初体验
  • Python利用正则抓取网页内容保存到本地
  • React Transition Group -- Transition 组件
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 分享几个不错的工具
  • - 概述 - 《设计模式(极简c++版)》
  • 两列自适应布局方案整理
  • 面试总结JavaScript篇
  • 前端面试之CSS3新特性
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 微信小程序填坑清单
  • 7行Python代码的人脸识别
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • #includecmath
  • #QT(智能家居界面-界面切换)
  • #数学建模# 线性规划问题的Matlab求解
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (阿里云万网)-域名注册购买实名流程
  • (二)WCF的Binding模型
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)jdk与jre的区别
  • .NET 8.0 中有哪些新的变化?
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net MVC + EF搭建学生管理系统
  • .Net Redis的秒杀Dome和异步执行
  • .NET开源快速、强大、免费的电子表格组件
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • ::前边啥也没有
  • ?