Vue.js 是什么?

Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定组合的视图组件

声明式渲染

Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统:
01Vue - Vue.js 入门(声明式渲染)_C
我们已经生成了我们的第一个 Vue 应用!看起来这跟单单渲染一个字符串模板非常类似,但是 Vue.js 在背后做了大量工作。现在数据和 DOM 已经被绑定在一起,所有的元素都是响应式的。我们如何知道?

打开你的浏览器的控制台,并修改 app.message,你将看到上例相应地更新。

除了绑定插入的文本内容,我们还可以采用这样的方式绑定 DOM 元素属性:

HTML:

<div id="app-2">
  <span v-bind:title="message">
    Hover your mouse over me for a few seconds to see my dynamically bound title!
  </span>
</div>

JS:

var app2 = new Vue({
  el: '#app-2',
  data: {
    message: 'You loaded this page on ' + new Date()
  }
})

显示效果:
01Vue - Vue.js 入门(声明式渲染)_html_02
这里我们遇到点新东西。你看到的v-bind 属性被称为指令。指令带有前缀v-,以表示它们是 Vue.js 提供的特殊属性。可能你已经猜到了,它们会在渲染过的 DOM 上应用特殊的响应式行为。这个指令的简单含义是说:将这个元素节点的title 属性和 Vue 实例的 message属性绑定到一起。

你再次打开浏览器的控制台输入
app2.message = 'some new message'
,你就会再一次看到这个绑定了title属性的HTML已经进行了更新。