1. 什么是vue: 构建用户界面的渐进式框架,采用自底向上增量开发的设计。
2. vue的核心理念:数据驱动视图,组件化开发。
3. 为什么学习流行框架:a.轻量级框架:只关注视图层,是一个构建数据的视图集合。
b.简单易学:国人开发,中文文档,不存在语言障碍,易于理解和学习
c.视图、数据、结构分离:使数据的更改更为简单。
d.虚拟Dom:不再使用原生的dom操作节点,极大地解放了dom操作。
4. 框架和库的区别:
a. 框架:一套完整的解决方案,对项目的侵入性较大,如果想要更改框架,需要重新架构整个项目。
b.库:提供一些小功能,对项目的侵入性较小,如果这个库不能完成某些需求,可以很容易的切换到另一个库。
5. MVC和MVVM的区别:MVC是后端分层开发的概念,MVVM是前端视图层的概念。在MVC中v代表view视图层,用来展示数据,发送请求;c是controller调度层,用来接收数据,响应数据;m是model模型层,用来处理数据,和数据库做交互;MVVM中v代表view视图层,用来展示数据;vm是view-model视图模型层,用来链接view和model,承上启下的作用,m是model模型层,对数据进行逻辑处理。
6. v-model 数据双向绑定的原理:vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。
7. v-if和v-show(显示隐藏元素)的区别:v-if 通过删除dom元素来实现,只修改一次或少次修改的时候使用;v-show通过设置display:none来实现,频繁切换的时候使用。