一、什么是vue
vue是一种用于构建用户页面的渐进式javascript框架,也是一个创建SPA单页应用的Web应用框架,vue的核心是数据驱动视图,通过组件内特定的方法实现视图和模型的交互
二、vue的特性
1.数据驱动视图
Q:什么是MVVM模型?
MVVM是一种双向数据绑定的模式,用viewModel来建立起model数据层和view视图层的连接,数据改变会影响视图,视图改变会影响数据
MVVM ( Model-View-ViewModel )
M:model 数据模型,负责处理业务逻辑以及和后端进行交互
V:view 视图模型,简单理解为html页面
VM:viewModel 视图数据模型,用来连接model和view的桥梁
Q:什么是MVC模型?
MVC是项目的一种分层架构思想,它把复杂的业务逻辑,抽离为职能单一的小模块,每个模块看似相互独立,其实又各自有相互依赖关系。
优点:保证了模块的智能单一性,方便程序的开发、维护、耦合度低
V:view视图模型M: model数据模型
C: controller控制器
2.组件开发
组件可以在项目中直接进行复用,出现问题时可以实现快速定位,能够提高代码可复用性和可维护性
3.指令系统
vue内置很多v-系列的指令,可以响应式的作用于DOM,比如v-if条件渲染,v-for列表渲染,v-model双向数据绑定等
三、什么是SPA单页面应用
SPA (singlepage application),是一种网络应用程序或网站的模型。它通过动态重写当前页面来与用户交互,这种方法避免了页面之间切换打断用户体验在单页应用中,所有必要的代码 ( HTML 、 Javascript 和 css )都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面,页面在任何时间点都不会重新加载,也不会将控制转移到其他页面
我们熟知的JS框架,比如:react,vue ,angular 都属于 SPA
1.优点:
具有桌面应用的即时性、网站的可移植性和可访问性
用户体验好、快,内容的改变不需要重新加载整个页面
2.缺点:
首次渲染速度相对较慢
不利于搜索引擎的抓取
Q:如何解决首次加载慢的问题?
(1)减少入口文件的体积
(2)静态资源本地缓存
(3)UI框架按需加载
(4)路由懒加载
四、vue中的内置组件有哪些?
1.component
渲染一个“元组件”为动态组件,根据is的值来决定哪个组件被渲染
在一个多标签界面中使用 is attribute 来切换不同组件,比如tab栏的切换
2.transition
用于在vue中更新DOM的时,提供多种过渡动画效果
3.transition-group
给列表统一设置过渡动画
4.keep-alive
缓存组件
三个属性:
include:哪些组件被缓存
exclude:哪些组件不会被缓存
max:最大缓存个数
5.slot
插槽