vue項(xiàng)目中使用AvueJs的詳細(xì)教程
Avue是基于Vue.js和element的快速開發(fā)框架 它的核心是數(shù)據(jù)驅(qū)動(dòng)UI的思想,讓我們從繁瑣的crud開發(fā)中解脫出來,它的寫法類似easyUI,但是寫起來比easyui更容易,因?yàn)樗腔A(chǔ)數(shù)據(jù)雙向綁定以及其他vue的特性。同時(shí)不知局限于crud,它還有我們經(jīng)常用的一些組件例如,表單,數(shù)據(jù)展示卡,人物展示卡等,更多的組件還在開發(fā)。
Avue.js是基于現(xiàn)有的element-ui庫進(jìn)行的二次封裝,簡化一些繁瑣的操作,核心理念為數(shù)據(jù)驅(qū)動(dòng)視圖,主要的組件庫針對table表格和form表單場景,同時(shí)衍生出更多企業(yè)常用的組件,達(dá)到高復(fù)用,容易維護(hù)和擴(kuò)展的框架,同時(shí)內(nèi)置了豐富了數(shù)據(jù)展示組件,讓開發(fā)變得更加容易。
官網(wǎng)地址:https://avuejs.com/
github地址:https://github.com/nmxiaowei/avue
一、背景
最近公司在開發(fā)云運(yùn)維相關(guān)的系統(tǒng),前端采用的技術(shù)框架是vue-cli3+vuex+aixos+element +avue。起初是沒有想到用Avuejs,畢竟使用element-ui也適合大部分場景開發(fā)。隨著開發(fā)進(jìn)度的進(jìn)行,發(fā)現(xiàn)element對table的封裝不夠,數(shù)據(jù)展示方面也沒有那么優(yōu)秀。本來是打算自己封裝table,此時(shí)突然想起,Avuejs其實(shí)也是對element的二次封裝,特別是table模塊和數(shù)據(jù)展示模塊,恰好可以補(bǔ)足element這方面的短板。
想看avue的具體文檔,請查看官網(wǎng):Avue官網(wǎng)
二、項(xiàng)目中的運(yùn)用
1、引入
vue-cli3腳手架創(chuàng)建的項(xiàng)目,都有一個(gè)src文件夾,在src下創(chuàng)建一個(gè)plugins文件夾,專門用于引入項(xiàng)目需要的插件,比如element、avue等。主要是減少main.js的代碼,簡化代碼結(jié)構(gòu),便于管理插件。
先npm下載依賴:
npm i @smallwei/avue --save
在plugins文件夾下面創(chuàng)建一個(gè)js文件:avue.js
:
import Vue from 'vue' import Avue from '@smallwei/avue' import '@smallwei/avue/lib/index.css' Vue.use(Avue)
然后再主入口文件main.js
引入
import './plugins/avue'
然后就可以進(jìn)行全局使用了
2、table(avue-crud)的使用
以下是代碼展示:
先在template
中貼入代碼:
<avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :table-loading="loading" @size-change="sizeChange" @current-change="currentChange" > <template slot="menu" slot-scope="scope"> <el-button size="mini" @click.native="update(scope.row)" >編輯 </el-button> <el-button size="mini" type="danger" @click.native="remove(scope.row)" >刪除 </el-button> </template> </avue-crud>
然后在data
中添加配置項(xiàng):
data() { return { page: { pageSizes: [10, 20, 30, 40], // 默認(rèn) currentPage: 1, total: 0, pageSize: 10 }, data: [], loading: false, option: { emptyText: '暫無數(shù)據(jù)', columnBtn: false,//刪掉自帶的列顯隱按鈕 refreshBtn: false,//刪掉自帶的刷新按鈕 addBtn: false,// 刪掉自帶的添加按鈕 delBtn: false,// 刪掉自帶的刪除按鈕 editBtn: false,// 刪掉自帶的編輯按鈕 border: true, stripe: true, selection: false, align: 'center', menuAlign: 'center', menuWidth: 200, column: [ { label: '角色名稱', prop: 'name' }, { label: '說明', prop: 'desc' } ] } } }
想要看更多的參數(shù)意思和配置,可以登錄avue的官網(wǎng)查看。之所以將一些自帶的按鈕和查詢框框刪掉,是因?yàn)檫@些要自己根據(jù)實(shí)際需求,進(jìn)行自定義。還有就是,始終覺得,一個(gè)框架封裝的越完善,其實(shí)對開發(fā)者越不利,因?yàn)檫@樣表示開發(fā)者自己發(fā)揮的空間變小,同時(shí)也代表適用范圍變小了。在處理實(shí)際問題過程中,往往是要靈活多變的。
以下是項(xiàng)目效果圖,數(shù)據(jù)變多時(shí),會(huì)顯示分頁按鈕:
三、使用想法
市面上有很多封裝好的插件,比如boostrap-vue,iview等,這些都只是工具?;A(chǔ)還是對es6的掌握和vue的掌握。在開發(fā)的過程中,可以根據(jù)自己現(xiàn)有的基礎(chǔ),決定使用哪個(gè)工具,來提高自己的開發(fā)效率。之所以選擇auvejs,是因?yàn)轫?xiàng)目本身用了element-ui,avue是對element的二次封裝,并且對table和數(shù)據(jù)展示的組件封裝的很好,省去了自己手動(dòng)封裝的時(shí)間。如果項(xiàng)目開發(fā)時(shí)間充足,建議可以自己封裝,往往更適合項(xiàng)目。
到此這篇關(guān)于vue項(xiàng)目中使用AvueJs的文章就介紹到這了,更多相關(guān)vue 使用AvueJs內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pycharm中開發(fā)vue?element項(xiàng)目時(shí)eslint的安裝和使用步驟
這篇文章主要介紹了Pycharm中開發(fā)vue?element項(xiàng)目時(shí)eslint的安裝和使用,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05vue watch深度監(jiān)聽對象實(shí)現(xiàn)數(shù)據(jù)聯(lián)動(dòng)效果
這篇文章主要介紹了vue watch深度監(jiān)聽對象實(shí)現(xiàn)數(shù)據(jù)聯(lián)動(dòng)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08如何在vuejs項(xiàng)目中使用md5加密密碼的實(shí)現(xiàn)
本文主要介紹了如何在vuejs項(xiàng)目中使用md5加密密碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Vue入門之?dāng)?shù)據(jù)綁定(小結(jié))
本篇文章主要介紹了探索Vue高階組件的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01利用Vue+intro.js實(shí)現(xiàn)頁面新手引導(dǎo)流程功能
在同學(xué)們使用某些網(wǎng)站的新版本頁面的時(shí)候,經(jīng)常會(huì)出現(xiàn)一個(gè)類似于新手引導(dǎo)一樣的效果,來幫助同學(xué)們更好的熟悉新版本頁面的功能和使用,這篇文章主要給大家介紹了關(guān)于如何利用Vue+intro.js實(shí)現(xiàn)頁面新手引導(dǎo)流程功能的相關(guān)資料,需要的朋友可以參考下2023-11-11詳解vue-cli構(gòu)建項(xiàng)目反向代理配置
本篇文章主要介紹了詳解vue-cli構(gòu)建項(xiàng)目反向代理配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09