1. 什么是Vue
Vue是一个渐进式开源JavaScript框架, , 也可以说是一个SPA单页面web应用前端框架. Vue所关注的是MVC模式中的视图层, 可以很方便的获取修改数据, 很方便的通过组件内部的方法实现视图层和模型层的交互
2. Vue的特点有哪些
① 数据驱动视图(MVVM)
M: Model, 表示模型层, 处理复杂的逻辑和与服务器进行交互.
V: View, 表示视图层, 显示在页面上, 简单的理解就是html页面.
VM: ViewModel, 表示视图模型层, 它是视图层和模型层的桥梁.
② 组件开发
Vue可以将公共的业务代码抽离出来, 形成单一的组件, 实现代码复用.
这样的好处就是降低整个系统的耦合性(在接口不变的时候, 可以代替不同的组件快速完成需求)
调用方便, 提高维护性, 降低开发成本.
③ 完善的指令系统
当条件表达式不同时, 响应式的影响对应的DOM元素
① 条件判断 v-if
② 列表渲染 v-for
③ 属性绑定 v-bind
④ 事件绑定 v-on
⑤ 数据双向绑定 v-model等
3. 什么是MVC模型
它是一种分层架构思想, 将一些复杂的业务代码抽取出来; 从而形成一个单一的模块.
看似每个模块都是独立的, 其实模块与模块之间的关系是密不可分的.
它的好处就是, 便于维护, 降低项目耦合性, 方便程序的开发.
4. v-model和.sync的区别
它们的共同点就是都是语法糖, 都可以实现父子组件数据的双向通信.
不同点:
v-model:
① 一个组件只能绑定一个v-model.
② v-model更多的在乎的是操作数据最终的结果, 是双向绑定的结果, 是一个change事件的过程.
.sync:
① 一个组件可以绑定多个.sync修饰符, 同时双向绑定多个prop.
② .sync修饰符跟多在乎的是各种各样的状态, 是状态的互相传递, 是一个update的过程.
5. 说一下Promise
promise是一种解决回调嵌套的方法.
具有三个状态pengding, rejected, Fulfilled
实例对象的方法有: then, catch, finally
静态方法有: all(将所有结果按顺序返回, 如果有错误将第一个错误返回), race(竞赛, 谁先回来, 结果就是谁), resolve, reject