Vue简介
vue是一个用于构建用户界面的渐进式框架
渐进式:就是指一个项目当中,局部去使用vue。
vue的技术栈(vue的全家桶)
vue的核心库 ⭐⭐⭐⭐⭐
vue devtools 调试插件 ⭐
vue-cli命令行工具 ⭐⭐⭐⭐⭐
vue-router 路由 ⭐⭐⭐⭐⭐
vuex vue状态管理 ⭐⭐⭐
vue服务端渲染 ⭐
Vue特点
- 渐进式
- 轻量级
- 双向数据绑定
- 指令系统
- 组件化
- 虚拟DOM
设计模式
mvc
类似于mvvm的设计模式,例如: express MVC
M:Model(模型)
其实就是数据模型,在这个模型里
进行数据的操作
V:View(视图)
哪部分是视图呢 ?
其实指的就是模板,对于express来说,它的视图就是页面结构(ejs,html....)
C:Controller(控制器)
当视图层需要展示某些数据时,它不会直接调用Model里的数据,它会向控制器发起一个请求,控制器就会去找到对应的Model。
那么为什么要这样做呢 ?
因为
Model
和View
可能不止一个
图片示例
mvvm
M:Model(模型)
V:View(视图)
VM:ViewModel(视图模型层)
那么它们是一个什么关系呢 ?
图片示例
View层 与 ViewModel层是一个双向数据绑定的关系(就是指ViewModel里的数据改变了,View层就会有相应的变化,反过来说就是,如果你在View层改变了数据,那么ViewModel层的数据也会变化)。
ViewModel层的数据可以来自Model层(Model的数据可以是服务器或则是我们写的JSON数据)。
代码示例
View 视图层
<div id = "app">
<h1>{
{ msg }}</h1>
</div>
VM 视图模型
data中是保存在Vue实例中的数据,会挂载到Vue实例对象下
data里的数据会与视图层的数据进行双向数据绑定
let app = new Vue({
el: "#app",
data: {
msg: "Hello Vue"
}
})
Model 层
html结构代码中没有体现 Model 模型,我们可以将通过Ajax的请求的数据理解为Model层。