Vue.js
Vue.js(/vjuː/,简称Vue)是一个用于创建用户界面的开源MVVM前端JavaScript框架,也是一个创建单页应用的Web应用框架[4]。Vue.js由尤雨溪创建,由他和其他活跃的核心团队成员维护[5]。 2016年一项针对JavaScript框架的调查表明,Vue有着89%的开发者满意度。[6]在GitHub上,该项目平均每天能收获95颗星,[6][7]为GitHub有史以来星标数第3多的项目。[8] 综述Vue.js是一款JavaScript前端框架,旨在更好地组织与简化Web开发。Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。 历史在为AngularJS工作之后,Vue的作者尤雨溪开发出了这一框架。他声称自己的思路是提取Angular中为自己所喜欢的部分,构建出一款相当轻量的框架。[9]Vue最早发布于2014年2月。作者在Hacker News、Echo JS与Reddit的/r/javascript版块[10]发布了最早的版本。一天之内,Vue就登上这三个网站的首页。[11]Vue是Github上最受欢迎的开源项目之一。[12]同时,在JavaScript框架/函式库中,Vue所获得的星标数已超過React,並高于Backbone.js、Angular 2、jQuery等项目。 版本名称通常来自漫画和动畫,其中大部分属于科幻小说类型。 版本
特性组件组件是Vue最为强大的特性之一。为了更好地管理一个大型的应用程序,往往需要将应用切割为小而独立、具有复用性的组件。在Vue中,组件是基础HTML元素的拓展,可方便地自定义其数据与行为。[32]下方的代码是Vue组件的一个示例,渲染为一个能计算鼠标点击次数的按钮。 // 定义一个名为 button-counter 的新组件
Vue.component('button-counter', {
data: function () {
return {
count: 0
}
},
template: '<button v-on:click="count++">我被点击了 {{ count }} 次!</button>'
})
模板Vue使用基于HTML的模板语法,允许开发者将DOM元素与底层Vue实例中的数据相绑定。所有Vue的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析。在底层的实现上,Vue将模板编译成虚拟DOM渲染函数。结合响应式系统,在应用状态改变时,Vue能够智能地计算出重新渲染组件的最小代价并应用到DOM操作上。[33] 此外,Vue允许开发者直接使用JSX语言作为组件的渲染函数,以代替模板语法。[34]以下为可计算点击次数的按钮的JSX渲染版本(需配置相应Babel编译器): Vue.component('buttonclicked', {
props: [ 'initial_count' ],
data() {
return { count: 0 };
},
render(h) {
return (<button vOn:click={this.onclick}>Clicked {this.count} times</button>)
},
methods: {
onclick() {
this.count = this.count + 1;
}
},
mounted: function() {
this.count = this.initial_count;
}
});
响应式设计响应式是指MVC模型中的视图随着模型变化而变化。在Vue中,开发者只需将视图与对应的模型进行绑定,Vue便能自动观测模型的变动,并重绘视图。这一特性使得Vue的状态管理变得相当简单直观。[35] 过渡效果Vue在插入、更新或者移除DOM时,提供多种不同方式的应用过渡效果。包括以下工具:
单文件组件(SFC)为了更好地适应复杂的项目,Vue支持以 生态系统核心库附带由核心团队和贡献者开发的工具和库。 官方工具
官方库
参见参考文献
外部链接 |
Portal di Ensiklopedia Dunia