Vue入门之组件化开发

来源:互联网 发布:国有企业 知乎 编辑:程序博客网 时间:2024/06/06 18:27

Vue入门之组件化开发

http://www.jianshu.com/p/6718ab1caa81

组件其实就是一个拥有样式、动画、js逻辑、HTML结构的综合块。前端组件化确实让大的前端团队更高效的开发前端项目。而作为前端比较流行的框架之一,Vue的组件和也做的非常彻底,而且有自己的特色。尤其是她单文件组件开发的方式更是非常方便,而且第三方工具支持也非常丰富,社区也非常活跃,第三方组件也呈井喷之势。当然学习和使用Vue的组件也是我们的最重要的目标。

全局扩展方法Vue.extend

Vue提供了一个全局的API,Vue.extend可以帮助我们对Vue实例进行扩展,扩展完了之后,就可以用此扩展对象创建新的Vue实例了。
类似于继承的方式。

语法:Vue.extend( options )参数:{Object} options用法:使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象[后面会细讲]。data 选项是特例,需要注意 - 在 Vue.extend() 中它必须是函数

下面是一个官网demo:

<div id="mount-point"></div><script>// 创建构造器var Profile = Vue.extend({  // 新的对象的模板,所有子实例都会拥有此模板  template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>',  data: function () {   // 创建的Vue实例时,data可以是Object 也可以是Function,但是在扩展    return {            // 的时候,data必须是一个函数,而且要返回值奥。      firstName: 'Walter',      lastName: 'White',      alias: 'Heisenberg'    }  }})</script>// 创建 Profile 实例,并挂载到一个元素上。new Profile().$mount('#mount-point')// .$mount() 方法跟设置 el属性效果是一致的。结果如下:<p>Walter White aka Heisenberg</p>

综合案例代码:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Vue入门之extend全局方法</title>  <script src="https://unpkg.com/vue/dist/vue.js"></script></head><body>  <div id="app">  </div>  <script>    var myVue = Vue.extend({      template: '<div>{{ name }} - {{ age }} - {{ mail }}</div>',      data: function () {        return {          name: 'malun',          age: '19',          mail: 'flydragonml@gmail.com'        };      }    });    var app = new myVue({      el: '#app'    });  </script></body></html>

创建组件和注册组件

当然上面的方式只是能让我们继承Vue实例做一些扩展的动作。看Vue中如何创建一个组件并注册使用。

Vue提供了一个全局注册组件的方法:Vue.component。

语法: Vue.component( id, [definition] )参数:  {string} id    组件的名字,可以当HTML标签用,注意组件的名字都是小写,而且最好有横线和字母组合。  {Function | Object} [definition]   组件的设置用法:注册或获取全局组件。注册还会自动使用给定的id设置组件的名称// 注册组件,传入一个扩展过的构造器Vue.component('my-component', Vue.extend({ /* ... */ }))// 注册组件,传入一个选项对象(自动调用 Vue.extend)Vue.component('my-component', { /* ... */ })// 获取注册的组件(始终返回构造器)var MyComponent = Vue.component('my-component')

简单demo:

<div id="example">  <!--组件直接跟普通的标签一样的使用。-->  <my-component></my-component></div>
// 注册一个组件Vue.component('my-component', {  // 模板选项设置当前组件,最终输出的html模板。注意:有且只有一个根元素。  template: '<div>A custom component!</div>'})// 创建根实例new Vue({  el: '#example'})

那么我们注册一个组件自动帮我生成 label和radiobutton组合。

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Vue入门之extend全局方法</title>  <script src="https://unpkg.com/vue/dist/vue.js"></script></head><body>  <div id="app">    <!--组件名直接可以当标签使用。-->    <radio-tag rid="rBas" txt="篮球" val="1"></radio-tag>    <!--组件的属性也可以使用Vue的绑定的语法,下面是动态绑定数据给子组件-->    <radio-tag :rid="demoId" :txt="demoText" :val="demoVal"></radio-tag>  </div>  <script>    // 定义组件模板,模板必须有且只有一个根元素。    var temp = '<div><label v-bind:for="rid">{{ txt }}</label><input :id="rid" type="radio" v-bind:value="val"></div>';    // 注册一个全局的组件    Vue.component('radio-tag', {       // 组件的名字不能有大写字母,跟React的曲别啊。另外组件名最好是小写字母加横线组合。      template: temp,      props: ['rid', 'txt', 'val'],   // 设置组件的属性有哪些,定义标签的属性一致。      data: function () {             // 注意属性名都得是小写,不然会不认的。        return {                      // 在组件的定义中data必须是函数,而且必须有返回值。          age: 19,                    // 此地方的 age 和 emial都是演示,并么有有到。          email: 'flydragonml@gmail.com'        }      }    });    // 初始化一个Vue实例    var app = new Vue({      el: '#app',      data: {        demoId: 'ft',        demoText: '足球',        demoVal: 2      }    });  </script></body></html>

注意结果点

  • 组件的名字都必须是小写【其实是非必须,但是为了不麻烦就强制吧】!!!而且建议是小写字母和横线的组合比如: my-radiobtn
  • 注册组件的时候,可以传入一个选项对象进行配置。其中props是设置当前组件的属性,属性也都必须小写。属性是连接父容器和子组件的桥梁。
  • 注意:属性名和组件的名字都要小写啊,不然vue不会认的。
  • 编写组件代码最好配合Vue的chrome插件:vue-devtool
  • 组件可以返还自己的数据,但是必须是函数。data必须是Function

局部注册组件

全局注册组件就是使用全局API Vue.componet(id, {....})就行了,当然我们有时候需要注册一个局部模块的自己用的组件。那么就可以用下面的方式了。

var Child = {  template: '<div>A custom component!</div>'}new Vue({  // ...  components: {    // <my-component> 将只在父模板可用    'my-component': Child  }})

组件的slot

使用组件的时候,经常需要在父组件中为子组件中插入一些标签等。当然其实可以通过属性等操作,但是比较麻烦,直接写标签还是方便很多。
那么Vue提供了slot协助子组件对父容器写入的标签进行管理。

当父容器写了额外的内容时, 如果子组件恰好有一个slot标签,那边子容器的slot标签会被父容器写入的内容替换掉。

比如下面的例子:

<!DOCTYPE html><<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Vue入门之extend全局方法</title>  <script src="https://unpkg.com/vue/dist/vue.js"></script></head><body>  <div id="app">    <!--父容器输入标签-->    <my-slot>      <h3>这里是父容器写入的</h3>    </my-slot>    <!--父容器绑定数据到子容器的slot,这里的作用域是父容器的啊。-->    <my-slot>{{ email }}</my-slot>    <!--父容器什么都不传内容-->    <my-slot></my-slot>  </div>  <script>    // 反引号:可以定义多行字符串。    var temp = `      <div>        <h1>这里是子组件</h1>        <hr>        <slot>slot标签会被父容器写的额外的内容替换掉,如果父容器没有写入任何东西,此标签将保留!</slot>      </div>    `;    Vue.component('MySlot', {          // 如果定义的组件为MySlot,那么用组件的时候:<my-slot></my-slot>      template: temp,    });    // 初始化一个Vue实例    var app = new Vue({      el: '#app',      data: {       email: 'flydragon@gmail.com'      }    });  </script></body></html>

最终结果:

<div id="app">  <div>    <h1>这里是子组件</h1>    <hr>    <h3>这里是父容器写入的</h3>  </div>  <div>    <h1>这里是子组件</h1>    <hr> flydragon@gmail.com  </div>  <div>    <h1>这里是子组件</h1>    <hr> slot标签会被父容器写的额外的内容替换掉,如果父容器没有写入任何东西,此标签将删除!  </div></div>

单文件组件的使用方式介绍

通过上面我们定义组件的方式,就已经感觉很不爽了,尤其是模板的定义,而且样式怎么处理也没有很好的进行规整。
Vue可以通过Webpack等第三方工具实现单文件的开发的方式。当然这里会牵扯到很多es6的语法、第三方工具实现前端模块化等很多知识,
我们大概看一眼指导Vue的组件可以直接写一个文件中,其他地方就可以直接导入这个模块了。后面做项目的时候我还会再讲一下怎么用。

<template>  <div>    <nav class="navbar navbar-dark navbar-fixed-top">    </nav>     <div class="col-md-3 sidebar">      <ul>        <li v-for="item in list" >          <router-link :to="{ path: item.url }">{{ item.name }}</router-link>        </li>      </ul>    </div>    <div class="container-fluid content">      <router-view></router-view>    </div>    </div>  </div></template><script>// 这里怎么回事import Axios from 'axios'export default {  name: 'app',  components: {  },  data: function () {    return {      list: []    }  },  mounted: function () {          // 挂在完成后    this.$nextTick(function () {      Axios.get('/api/menulist', {        params: {        }      }).then(function (res) {        this.list = res.data      }.bind(this))    })  }}</script><style>ul, li {  list-style: none;}.router-link-active {  background-color: #f6f6f6;}.navbar {  height: 50px;  background-color: #303030;}.content {  margin-top: 50px;  padding-left: 210px;}.sidebar {  background-color: #f5f5f5;  border-right: 1px solid #eee;  width: 200px;}@media (min-width: 768px) {  .sidebar {    position: fixed;    top: 51px;    bottom: 0;    left: 0;    z-index: 1000;    display: block;    padding: 20px;    overflow-x: hidden;    overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */    background-color: #f5f5f5;    border-right: 1px solid #eee;  }}</style>

单文件书写组件的方式必须要配合webpack之类的工具才行,所以这里暂时不讲解如何做,后面到项目阶段的时候再详细讲解。
不过你可以参考:Vue官网单文件组件

组件总结

Vue的组件化还是做的比较彻底的。不像Angular1.0中的模块那么鸡肋。组件化确实让前端模块化开发更加容易实现,
Vue的单文件开发组件的方式也是Vue的一大创新,也发非常好用。

Vue是什么?

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


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

易用(已经会了HTML,CSS,JavaScript即可轻松上手)、灵活(简单小巧的核心,渐进式技术栈,足以应付任何规模的应用)、性能(17kb min+gzip运行大小、超快虚拟DOM、最省心的优化)、渐进式JavaScript框架。

Vue.js是我在2014年2月开源的一个前端开发库,通过简洁的API提供高效的数据绑定和灵活的组件系统。在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在GitHub上已经有快6000+的star。

Vue相关网站参考:

Vue中文帮助网站:http://cn.vuejs.org/

Vue github开源地址:https://github.com/vuejs/vue

Vue.js专业中文社区:http://www.vue-js.com/

前端开发Vue相关:http://www.opendigg.com/tags/front-vue

本文开源地址:https://github.com/yonghu86/awesome-github-vue

本文主要是收集与整理Vue相关的开源资料,以供需要的朋友参考。主要包含以下几方面的内容:

UI组件、开发框架、实用库、服务端、辅助工具、应用实例、Demo示例

UI组件

element★9305 -饿了么出品的Vue2的web UI工具套件

Vux★6802 -基于Vue和WeUI的组件库

mint-ui★4776 - Vue 2的移动UI元素

iview★4458 -基于Vuejs的开源UI组件库

Keen-UI★2363 -轻量级的基本UI组件合集

vue-material★2207 -通过Vue Material和Vue 2建立精美的app应用

muse-ui★1992 -三端样式一致的响应式UI库

vuetify★1678 -为移动而生的Vue JS 2组件框架

vonic★1494 -快速构建移动端单页应用

eme★1390 -优雅的Markdown编辑器

vue-multiselect★1166 - Vue.js选择框解决方案

vue-table★824 -简化数据表格

VueCircleMenu★776 -漂亮的vue圆环菜单

vue-chat★748 - vuejs和vuex及webpack的聊天示例

radon-ui★633 -快速开发产品的Vue组件库

vue-waterfall★605 - Vue.js的瀑布布局组件

vue-carbon★595 -基于vue开发MD风格的移动端

vue-beauty★569 -由vue和ant design创建的优美UI组件

vue-blu★557 -帮助你轻松创建web应用

vueAdmin★556 -基于vuejs2和element的简单的管理员模板

vue-syntax-highlight★551 - Sublime Text语法高亮

vue-infinite-scroll★524 - VueJS的无限滚动指令

Vue.Draggable★493 -实现拖放和视图模型数组同步

vue-awesome-swiper★476 - vue.js触摸滑动组件

vue-calendar★465 -日期选择插件

bootstrap-vue★458 -应用于Vuejs2的Twitter的Bootstrap 4组件

vue-swipe★361 - VueJS触摸滑块

vue-amap★346 -基于Vue 2和高德地图的地图组件

vue-chartjs★333 - vue中的Chartjs的封装

vue-datepicker★331 -日历和日期选择组件

markcook★318 -好看的markdown编辑器

vue-google-maps★287 -带有双向数据绑定Google地图组件

vue-progressbar★248 - vue轻量级进度条

vue-picture-input★236 -移动友好的图片文件输入组件

vue-infinite-loading★224 - VueJS的无限滚动插件

vue-upload-component★204 - Vuejs文件上传组件

vue-datetime-picker★197 -日期时间选择控件

vue-scroller★196 - Vonic UI的功能性组件

vue2-calendar★181 -支持lunar和日期事件的日期选择器

vue-video-player★178 - VueJS视频及直播播放器

vue-fullcalendar★176 -基于vue.js的全日历组件

rubik★170 -基于Vuejs2的开源UI组件库

VueStar★169 -带星星动画的vue点赞按钮

vue-mugen-scroll★167 -无限滚动组件

mint-loadmore★167 - VueJS的双向下拉刷新组件

vue-tables-2★162 -显示数据的bootstrap样式网格

vue-virtual-scroller★158 -带任意数目数据的顺畅的滚动

DataVisualization★149 -数据可视化

vue-quill-editor★149 -基于Quill适用于Vue2的富文本编辑器

Vueditor★138 -所见即所得的编辑器

vue-html5-editor★132 - HTML5所见即所得编辑器

vue-msgbox★127 - vuejs的消息框

vue-slider★126 - vue滑动组件

vue-core-image-upload★124 -轻量级的vue上传插件

vue-slide★121 - vue轻量级滑动组件

vue-lazyload-img★118 -移动优化的vue图片懒加载插件

vue-drag-and-drop-list★114 -创建排序列表的Vue指令

vue-progressive-image★107 - Vue的渐进图像加载插件

vuwe★107 -基于微信WeUI所开发的专用于Vue2的组件库

vue-dropzone★105 -用于文件上传的Vue组件

vue-charts★101 -轻松渲染一个图表

vue-swiper★95 -易于使用的滑块组件

vue-images★93 -显示一组图片的lightbox组件

vue-carousel-3d★91 - VueJS的3D轮播组件

vue-region-picker★89 -选择中国的省份市和地区

vue-typer★89 -模拟用户输入选择和删除文本的Vue组件

vue-impression★88 -移动Vuejs2 UI元素

vue-datatable★87 -使用Vuejs创建的DataTableView

vue-instant★86 -轻松创建自动提示的自定义搜索控件

vue-dragging★86 -使元素可以拖拽

vue-slider-component★85 -在vue1和vue2中使用滑块

vue2-loading-bar★76 -最简单的仿Youtube加载条视图

vue-datepicker★75 -漂亮的Vue日期选择器组件

vue-video★70 - Vue.js的Html5视频播放器

vue-toast-mobile★68 - VueJS的toast插件

vue-image-crop-upload★67 - vue图片剪裁上传组件

vue-tooltip★66 -带绑定信息提示的提示工具

vue-highcharts★66 - HighCharts组件

vue-touch-ripple★62 - vuejs的触摸ripple组件

coffeebreak★61 -实时编辑CSS组件工具

vue-datasource★60 -创建VueJS动态表格

vue2-timepicker★60 -下拉时间选择器

vue-date-picker★59 - VueJS日期选择器组件

vue-scrollbar★58 -最简单的滚动区域组件

vue-quill★56 - vue组件构建quill编辑器

vue-google-signin-button★55 -导入谷歌登录按钮

vue-svgicon★53 -创建svg图标组件的工具

vue-float-label★49 - VueJS浮动标签模式

vue-baidu-map★46 -基于Vue 2的百度地图组件库

vue-social-sharing★45 -社交分享组件

vue2-editor★44 - HTML编辑器

vue-tagsinput★41 -基于VueJS的标签组件

vue-easy-slider★41 - Vue 2.x的滑块组件

datepicker★38 -基于flatpickr的时间选择组件

vue-chart★37 -强大的高速的vue图表解析

vue-music-master★37 - vue手机端网页音乐播放器

handsontable★35 -网页表格组件

vue-simplemde★35 - VueJS的Markdown编辑器组件

vue-popup-mixin★35 -用于管理弹出框的遮盖层

cubeex★33 -包含一套完整的移动UI

vue-fullcalendar★32 - vue FullCalendar封装

vue-material-design★32 - Vue MD风格组件

vue-morris★31 - Vuejs组件封装Morrisjs库

we-vue★30 - Vue2及weui1开发的组件

vue-image-clip★29 -基于vue的图像剪辑组件

vue-bootstrap-table★29 -可排序可检索的表格

vue-radial-progress★28 - Vue.js放射性进度条组件

vue-slick★28 -实现流畅轮播框的vue组件

vue-pull-to-refresh★27 - Vue2的上拉下拉

vue-form-2★26 -全面的HTML表单管理的解决方案

vue-side-nav★26 -响应式的侧边导航

mint-indicator★26 - VueJS移动加载指示器插件

chartjs★24 - Vue Bulma的chartjs组件

vue-scroll★24 - vue滚动

vue-ripple★24 -制作谷歌MD风格涟漪效果的Vue组件

vue-touch-keyboard★22 - VueJS虚拟键盘组件

vue-chartkick★22 - VueJS一行代码实现优美图表

vue-ztree★21 -用vue写的树层级组件

vue-m-carousel★20 - vue移动端轮播组件

vue-datepicker-simple★20 -基于vue的日期选择器

vue-tabs★20 -多tab页轻型框架

vue-verify-pop★19 -带气泡提示的vue校验插件

vue-parallax★15 -整洁的视觉效果

vue-img-loader★14 -图片加载UI组件

vue-typewriter★13 - vue组件类型

vue-smoothscroll★12 - smoothscroll的VueJS版本

vue-city★10 -城市选择器

vue-tree★10 - vue树视图组件

vue-ios-alertview★8 - iOS7+风格的alertview服务

dd-vue-component★7 -订单来了的公共组件库

paco-ui-vue★7 - PACOUI的vue组件

vue-cmap★5 - Vue China map可视化组件

vue-button★4 - Vue按钮组件

开发框架

vue.js★45466 -流行的轻量高效的前端组件化方案

vue-admin★3222 - Vue管理面板框架

electron-vue★1273 - Electron及VueJS快速启动样板

vue-2.0-boilerplate★241 - Vue2单页应用样板​

vue-spa-template★223 -前后端分离后的单页应用开发

Framework7-Vue★210 - VueJS与Framework7结合

vue-bulma★132 -轻量级高性能MVVM Admin UI框架

vue-webgulp★100 -仿VueJS Vue loader示例

vue-element-starter★34 - vue启动页

实用库

vuex★5997 -专为Vue.js应用程序开发的状态管理模式

vuelidate★750 -简单轻量级的基于模块的Vue.js验证

qingcheng★677 - qingcheng主题

vue-desktop★461 -创建管理面板网站的UI库

vue-meta★257 -管理app的meta信息

vue-axios★209 -将axios整合到VueJS的封装

vue-svg-icon★116 - vue2的可变彩色svg图标方案

avoriaz★110 - VueJS测试实用工具库

vue-framework7★83 -结合VueJS使用的Framework7组件

vue-bootstrap-modal★78 - vue的Bootstrap样式组件

vuep★72 -用实时编辑和预览来渲染Vue组件

vue-online★67 - reactive的在线和离线组件

vue-lazy-render★66 -用于Vue组件的延迟渲染

vue-password-strength-meter★65 -交互式密码强度计

element-admin★57 -支持vuecli的Element UI的后台模板

vue-electron★55 -将选择的API封装到Vue对象中的插件

cleave★55 -基于cleave.js的Cleave组件

vue-events★54 -简化事件的VueJS插件

vue-shortkey★53 -应用于Vue.js的Vue-ShortKey插件

vue-cordova★50 - Cordova的VueJS插件

vue-router-transition★49 -页面过渡插件

vue-gesture★48 - VueJS的手势事件插件

http-vue-loader★46 -从html及js环境加载vue文件

vue-qart★46 -用于qartjs的Vue2指令

vuemit★44 -处理VueJS事件

vue-websocket★42 - VueJS的Websocket插件

vue-local-storage★41 -具有类型支持的Vuejs本地储存插件

lazy-vue★41 -懒加载图片

vue-bus★36 - VueJS的事件总线

vue-reactive-storage★35 - vue插件的Reactive层

vue-notifications★32 -非阻塞通知库

vue-lazy-component★32 -懒加载组件或者元素的Vue指令

v-media-query★32 - vue中添加用于配合媒体查询的方法

vue-observe-visibility★31 -当元素在页面上可见或隐藏时检测

vue-ts-loader★29 -在Vue装载机检查脚本

vue-pagination-2★28 -简单通用的分页组件

vuex-i18n★26 -定位插件

Vue.resize★26 -检测HTML调整大小事件的vue指令

vuex-shared-mutations★25 -分享某种Vuex mutations

vue-file-base64★16 -将文件转换为Base64的vue组件

modal★15 - Vue Bulma的modal组件

Famous-Vue★15 - Famous库的vue组件

leo-vue-validator★13 -异步的表单验证组件

Vue-Easy-Validator★11 -简单的表单验证

vue-truncate-filter★9 -截断字符串的VueJS过滤器

vue-zoombox★9 -一个高级zoombox

vue-input-autosize★5 -基于内容自动调整文本输入的大小

vue-lazyloadImg★3 -图片懒加载插件

服务端

nuxt.js★2743 -用于服务器渲染Vue app的最小化框架

express-vue★137 -简单的使用服务器端渲染vue.js

vue-ssr★67 -非常简单的VueJS服务器端渲染模板

vue-ssr★56 -结合Express使用Vue2服务端渲染

vue-easy-renderer★22 - Nodejs服务端渲染

辅助工具

DejaVue★543 - Vuejs可视化及压力测试

vue-play★445 -展示Vue组件的最小化框架

vscode-VueHelper★185 -目前vscode最好的vue代码提示插件

vue-generate-component★39 -轻松生成Vue js组件的CLI工具

vue-multipage-cli★33 -简单的多页CLI

VuejsStarterKit★26 - vuejs starter套件

应用实例

koel★7175 -基于网络的个人音频流媒体服务

pagekit★4021 -轻量级的CMS建站系统

vuedo★1040 -博客平台

jackblog-vue★943 -个人博客系统

vue-cnode★597 -重写vue版cnode社区

CMS-of-Blog★405 -博客内容管理器

rss-reader★326 -简单的rss阅读器

vue-ghpages-blog★208 -依赖GitHub Pages无需本地生成的静态博客

swoole-vue-webim★97 - Web版的聊天应用

vue-dashing-js★70 - nuvo-dashing-js的fork

fewords★52 -功能极其简单的笔记本

vue-blog★33 -使用Vue2.0和Vuex的vue-blog

Demo示例

Vue-cnodejs★2113 -基于vue重写Cnodejs.org的webapp

NeteaseCloudWebApp★1154 -高仿网易云音乐的webapp

vue-zhihu-daily★875 -知乎日报with Vuejs

vue-wechat★732 - vue.js开发微信app界面

vue2-demo★699 -从零构建vue2 + vue-router + vuex开发环境

eleme★612 -高仿饿了么app商家详情

vue-demo★575 - vue简易留言板

maizuo★498 - vue/vuex/redux仿卖座网

spa-starter-kit★489 -单页应用启动套件

vue-music★485 - Vue音乐搜索播放

douban★402 -模仿豆瓣前端

vue-Meizi★394 - vue最新实战项目

zhihudaily-vue★386 -知乎日报web版

vue-demo-kugou★310 - vuejs仿写酷狗音乐webapp

VueDemo_Sell_Eleme★307 - Vue2高仿饿了么外卖平台

vue2.0-taopiaopiao★246 - vue2.0与express构建淘票票页面

vue-leancloud-blog★239 -一个前后端完全分离的单页应用

node-vue-server-webpack★239 - Node.js+Vue.js+webpack快速开发框架

mi-by-vue★222 - VueJS仿小米官网

vue-fis3★199 -流行开源工具集成demo

vue2.x-douban★188 - Vue2实现简易豆瓣电影webApp

vue-demo-maizuo★188 -使用Vue2全家桶仿制卖座电影

vue-zhihudaily★169 -知乎日报Web版本

vue-adminLte-vue-router★162 - vue和adminLte整合应用

vue-axios-github★157 -登录拦截登出功能

Zhihu-Daily-Vue.js★134 - Vuejs单页网页应用

hello-vue-django★113 -使用带有Django的vuejs的样板项目

vue-cnode★101 - vue单页应用demo

x-blog★100 -开源的个人blog项目

vue-express-mongodb★96 -简单的前后端分离案例

websocket_chat★91 -基于vue和websocket的多人在线聊天室

photoShare★85 -基于图片分享的社交平台

vue-zhihudaily-2.0★81 -使用Vue2.0+vue-router+vuex创建的zhihudaily

notepad★77 -本地存储的记事本

vueBlog★75 -前后端分离博客

vue-ruby-china★70 - VueJS框架搭建的rubychina平台

Zhihu_Daily★70 -基于Vue和Nodejs的Web单页应用

vue-koa-demo★60 -使用Vue2和Koa1的全栈demo

vue2.x-Cnode★50 -基于vue全家桶的Cnode社区

life-app-vue★49 -使用vue2完成多功能集合到小webapp

github-explorer★49 -寻找最有趣的GitHub库

vue-trip★48 - vue2做的出行webapp

vue-ssr-boilerplate★47 -精简版的ofvue-hackernews-2

vue-bushishiren★45 -不是诗人应用

houtai★44 -基于vue和Element的后台管理系统

ios7-vue★38 -使用vue2.0 vue-router vuex模拟ios7

Framework7-VueJS★38 -使用移动框架的示例

cnode-vue★37 -基于vue和vue-router构建的cnodejs web网站SPA

vue-cli-multipage-bootstrap★36 -将vue官方在线示例整合到组件中

vue-cnode★34 -用Vue做的CNode官网

HyaReader★30 -移动友好的阅读器

zhihu-daily★28 -轻松查看知乎日报内容

seeMusic★27 -跨平台云音乐播放器

vue-cnode★22 -使用cNode社区提供的接口

zhihu-daily-vue★20 -知乎日报

sls-vuex2-demo★20 - vuex2商城购物车demo

vue-dropload★17 -用以测试下拉加载与简单路由

vue-cnode-mobile★17 -搭建cnode社区

Vuejs-SalePlatform★17 - vuejs搭建的售卖平台demo

v-notes★17 -简单美观的记事本

vue-starter★16 - VueJs项目的简单启动页

vue-memo★7 -用vue写的记事本应用


原创粉丝点击