vue是什么
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。
与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。
Vue的目标是通过尽可能简单的API实现响应式的数据绑定和组合的试图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。
软件名称:Vue.js
作者:尤雨溪
版本:vue0.11、vue0.12、vue1.0、vue2.0
软件语言:JavaScript
初始与稳定版本:0.11、2.6.16
MVVM
关于Vue的MVVM的概念介绍,可以分为三个部分:
- M,Model 模型层,指的是数据部分,主要负责业务数据相关。
- V,View 视图层,指的是视图部分,负责视图相关,也就是html+css层。
- VM,ViewModel V与M连接的桥梁,就是连接视图与数据的中间件,相当于一个控制器,负责监听M或者V的修改,实现数据的双向绑定。
数据/视图
数据(VM)
const app = new Vue({
el: '#main',
data: {
message: 1
}
})
视图(V)
<div id="main">
<input v-model="message" />
<br />
<span>{{ message }}</span>
</div>
组件化(Components)
官方定义:组件系统是Vue的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用,几乎任何类型的应用界面都可以抽象为一个组件树。
组件是Vue.js 最强大的功能之一,它可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在某些情况下,组件也可以表现为用 is 特性进行原生HTML元素的扩展。
所有的 Vue 组件同时也都是 Vue 的实例。
Vue.component('todo-item', {
template: '<li>这是个待办项</li>'
})
<ol>
<!-- 创建一个 todo-item 组件的实例 -->
<todo-item></todo-item>
</ol>
开发模式
- 声明式渲染
- 组件系统
- 客户端路由
- 大规模状态管理
- 构建工具
浏览器兼容
Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器。
底层原理:ES5 -> Object.defineProperty()