进入 Vue 的世界


在讲解了那么多的工具之后,我们终于进入了正题。

首先我们需要了解以下几个问题:

  1. 什么是 Vue ?
  2. Vue 能做什么 ?
  3. 我们该如何去学习和使用 Vue ?

什么是 Vue

我们先来看看官网的介绍:https://cn.vuejs.org/

Vue 是一个易用灵活性能强JavaScript 框架, 它利用了虚拟 DOM,因此比传统的 DOM 性能操作要强很多。

Vue.js(读音同view),是用于构建用户界面的框架,准确来说,Vue的核心库只关心视图层,而且它非常容易上手,同比学习 React、Angular 这样的框架,它们的准备工作要多得很多,学习曲线也非常地陡峭,而只要你用足够的 HTML、CSS、JS 的基础,你就能上手学习 Vue,在学习 Vue 的过程中,你也可以不断地提高你的 HTML、CSS、JS 的水平。

MVVM 构架

我们先来了解一下 MVVM 到底是个什么东西。相信大部分人都听说过经典的 MVC 模式,意思就是:软件可以分为三部分

视图(View):用户界面。 控制器(Controller):业务逻辑 模型(Model):数据保存

各部分之间的通信如下:

  1. View 传送指令到 Controller
  2. Controller 完成业务逻辑后,要求 Model 改变状态
  3. Model 将新的数据发送到 View,用户得到反馈

所有的通信都是单向的。

那么 MVVM 模式又是怎么一回事呢?

MVVM 来源于 MVP,MVP 将 MVC 的 Controller 改名为 Presenter,同时改变了 通信方向。

  1. 各部分之间的通信,都是双向的。
  2. View 与 Model 不发生联系,都通过 Presenter 传递。
  3. View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有业务逻辑都部署在那里。

MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。

唯一的区别,也是最重要的,它采用数据双向绑定(data-binding):来自 View 的变动,自动反映在ViewModel,反过来也是一样。Angular、Vue 都是采用这种模式。

Vue 能做什么

在使用 Vue.js 的时候,你只需要知道,我们的 UI 是由数据来驱动的,任何来自数据的变动,都会主动地映射到 UI 上。因此我们再也不用像以前写 DOM 操作那样,每次都要自己手动地插入和修改数据,同时还要处理 DOM 节点的变化。

通过 Vue 我们能够快速地搭建出我们的用户界面,并且处理从服务器返回的数据,大大地减少我们的代码量,以达到敏捷开发,快速迭代的目的。

我们该如何去学习和使用 Vue

  1. 以官方文档为主,当你遇到不懂的问题时,首先去文档里寻找答案
  2. 多写Demo,读过文档不等于会用,多写 demo,这样你会掌握地更好
  3. 多逛社区,了解技术的变化和发展趋势,多读源码

参考:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html