Vue.js


# Vue.js

Vue.js 是一款渐进式 JavaScript 框架。

虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此经常会使用 vm(ViewModel 的缩写)这个变量名表示 Vue 实例。

var vm = new Vue({
  // 选项
})
1
2
3

对 MVVM 的理解:

MVVM 图示

(MVVM 图示,图来源于官网文档)

MVVM 分为 Model、View、ViewModel 三者。

  • Model:代表数据模型,数据和业务逻辑都在 Model 层中定义;
  • View:代表 UI 视图,负责数据的展示;
  • ViewModel:就是与界面(View)对应的 Model。因为数据库结构往往是不能直接跟界面控件一一对应上的,所以需要再定义一个数据对象专门对应 View 上的控件。而 ViewModel 的职责就是把 Model 对象封装成可以显示和接受输入的界面数据对象。

比如 UI 中有一个 li 列表,它是怎么与我们的数据对应的,就是通过 ViewModel。

Model 和 View 并无直接关联,而是通过 ViewModel 来进行联系的,Model 和 ViewModel 之间有着双向数据绑定的联系。因此当 Model 中的数据改变时会触发 View 层的刷新,View 中由于用户交互操作而改变的数据也会在 Model 中同步。

MVVM 例子

(MVVM 例子)


关于 Vue.js 的知识点,主要参考:

  • 官方文档