VUE八股文
问:你认为Vue的核心是什么?
1.组件化:Vue会将重复的vue组件进行抽取,我们可以通过暴露并导入的方式来使用我们编写好的组件,提高了代码的复用性并减少代码之间的耦合度。
2.响应式编程:Vue的设定就是不建议开发者使用DOM直接进行数据操作,当我们修改Vue中的数据的时候页面中的数据也会进行修改,视图会随着数据的改变而进行视图的更新。
3.虚拟DOM:Vue会去维护一个真实DOM的副本也就是一个虚拟的DOM,只有在真正需要的时候才会将变化更新到真正的DOM上。
问:你刚刚说到了组件化,能具体一些吗?
一个.vue文件就可以将其看作一个组件,在该文件中我们可以编写 html, js,css。
优点:
- 好维护:因为组件都是统一调用的,在修改时也只需要在组件中修改即可,减少了代码的耦合度。
- 好调试:在调试整体界面时,如果不需要某个组件的话,删除导入操作即可。
问:有了解过MVVM模式吗?
在MVVM中,主要就是三个部分,Model,ViewModel,View。
1.Model:数据层,主要就是负责数据的存储和处理操作,就比如在Vue中data中的数据,向后端发送请求获取的数据操作。
2.View:视图层,主要就是通过传来的数据渲染到视图界面上。
3.ViewModel:视图模型层,也就是Model和View交互的中间商,VM会从Model中获取对应的数据传给View层,并且呢,VM也会收集View层传来的用户输入并传给Model,实现双向绑定。
MVVM模式有什么优点呢?
在View和Model的中间加一层,那无非呢就是为了解耦合,将业务逻辑和用户界面的渲染分离开来。也是因为二者的分离,在后续维护的时候,只需要针对其中一个部分修改即可。
问:在Vue中data为什么使用函数形式而非对象形式呢?
在Vue中我们通常会定义组件,并且呢,组件会被多次使用,使用函数的话,就可以保证每一个组件中的数据域独立私有的