概述
vue.js是一个构建数据驱动的web界面的库,并不属于一个完整的框架,主要功能类似Angular的数据绑定和视图组件。但是vue的风格是MVVM,更专注于UI层面,即所谓的ViewModel。
响应的数据绑定
jQuery使用命令式的语言操作DOM进而修改数据;而vue是数据驱动,它让DOM与数据保持同步更新。通俗地讲,就是我们只要在普通的HTML页面中使用特殊的语法将DOM绑定到底层的数据,一旦创建了绑定,那么DOM将与底层数据保持同步更新,如此这般,可大大减少对DOM的操作,而将精力转移到主要的数据层来。而且代码更清晰,更易维护。
简单列子
<!--dom 层 ->
<div id="example-1">
Hello {{ name }}!
</div>
// 这是我们的数据层
var exampleData = {
name: 'Vue.js'
}
// 创建一个 Vue 实例或 "ViewModel"
// 它连接 View 与 Model
var exampleVM = new Vue({
el: '#example-1',//绑定dom的id
data: exampleData
})
结果
Hello Vue.js
组件系统
简单讲一下:所谓的组件系统其实就是vue提供了一系列可复用的组件,这些组件可抽象为一个组件树,如图:
然后看官方的栗子:
<div id="app">
<app-nav></app-nav>
<app-view>
<app-sidebar></app-sidebar>
<app-content></app-content>
</app-view>
</div>
可以清晰的看出,所谓的组件类似于Angular自定义的标签或元素.
Vue提供的组件具有如下的特征:
1.Web 组件规范仍然远未完成,并且没有浏览器实现。相比之下,Vue.js 组件不需要任何补丁,并且在所有支持的浏览器(IE9 及更高版本)之下表现一致。必要时,Vue.js 组件也可以放在原生自定义元素之内。
2.Vue.js 组件提供了原生自定义元素所不具备的一些重要功能,比如组件间的数据流,自定义事件系统,以及动态的、带特效的组件替换。
3.组件系统是用 Vue.js 构建大型应用的基础。另外,Vue.js 生态系统也提供了高级工具与多种支持库,它们和 Vue.js 一起构成了一个更加“框架”性的系统。
使用
- 饿了么UED的 Element