在vue項(xiàng)目中安裝使用Mint-UI的方法
一、Mint UI 是 由餓了么前端團(tuán)隊(duì)推出的 一個(gè)基于 Vue.js 的移動(dòng)端組件庫(kù),具有以下特性: 使用文檔:
http://mint-ui.github.io/#!/zh-cn
- Mint UI 包含豐富的 CSS 和 JS 組件,能夠滿足日常的移動(dòng)端開發(fā)需要。通過(guò)它,可以快速構(gòu)建出風(fēng)格統(tǒng)一的頁(yè)面,提升開發(fā)效率。
- 真正意義上的按需加載組件。可以只加載聲明過(guò)的組件及其樣式文件,無(wú)需再糾結(jié)文件體積過(guò)大。
- 考慮到移動(dòng)端的性能門檻,Mint UI 采用 CSS3 處理各種動(dòng)效,避免瀏覽器進(jìn)行不必要的重繪和重排,從而使用戶獲得流暢順滑的體驗(yàn)。
- 依托 Vue.js 高效的組件化方案,Mint UI 做到了輕量化。即使全部引入,壓縮后的文件體積也僅有 ~30kb (JS + CSS) gzip。
二、首先要?jiǎng)?chuàng)建一個(gè)vue項(xiàng)目,參考前面寫的 http://www.dbjr.com.cn/article/131600.htm
三、接著安裝 Mint UI:
npm i mint-ui --save
四、然后需要引入 Mint UI ,這里有兩種情況:
1. 引入全部組件
如果項(xiàng)目會(huì)用到 Mint UI 里較多的組件,最簡(jiǎn)單的方法就是把它們?nèi)恳搿4藭r(shí)需要在入口文件 main.js 中:
import Mint from 'mint-ui'; Vue.use(Mint); import 'mint-ui/lib/style.css';
2. 按需引入
如果你只需要使用某個(gè)組件,可以僅引入這個(gè)組件,Mint UI 能夠保證在代碼打包時(shí),與這個(gè)組件無(wú)關(guān)的文件不會(huì)出現(xiàn)在最終代碼里。比如需要引入 Button 組件,則在 main.js 中:
import Button from 'mint-ui/lib/button'; import 'mint-ui/lib/button/style.css'; Vue.component(Button.name, Button);
上面兩種引入方法都要單獨(dú)引入相應(yīng)的 CSS 文件。這很不方便,尤其當(dāng)你使用按需引入的方法引入多個(gè)組件時(shí)。
五、為了避免這個(gè)問(wèn)題,可以使用babel-plugin-component插件。
1. 首先當(dāng)然是安裝它:
npm i babel-plugin-component -D
2. 然后在 .babelrc 中配置它:
{ "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], "plugins": ["transform-runtime",["component",[ {"libraryName":"mint-ui","style":true} ]]], "env": { "test": { "presets": ["env", "stage-2"], "plugins": ["istanbul"] } } }
3. 這樣上述兩種引入方法就可以簡(jiǎn)化為:
//import Mint from 'mint-ui'; //Vue.use(Mint); //import 'mint-ui/lib/style.css'; //不需要手動(dòng)導(dǎo)入mint-ui樣式 import Button from 'mint-ui/lib/button'; Vue.component(Button.name, Button); import { Swipe, SwipeItem } from 'mint-ui'; //按需引入部分組件 Vue.component(Swipe.name, Swipe); Vue.component(SwipeItem.name, SwipeItem);
前面安裝的插件會(huì)自動(dòng)引入相應(yīng)的 CSS 文件!
六、具體使用UI組件 -- 可以直接參考官方文檔http://mint-ui.github.io/docs/
使用的過(guò)程中發(fā)現(xiàn)Mint UI文檔不是很詳細(xì),很多具體的用法都需要另外百度...
1.首先看下官方文檔的第一種引入和用法:
這種組件引入的時(shí)候,有一行Vue.component("對(duì)應(yīng)的組件名"),使用的時(shí)候是再vue文檔的template部分,使用對(duì)應(yīng)的標(biāo)簽名加屬性,其實(shí)就是直接復(fù)制官方文檔的代碼即可,不過(guò)相對(duì)復(fù)雜多屬性的組件就要另外百度了.
那么接下來(lái)看一下在項(xiàng)目中的使用代碼:
//在main.js里面添加--復(fù)制官方文檔該組件對(duì)應(yīng)的引入即可 import { Header } from 'mint-ui'; Vue.component(Header.name, Header); <template> <mt-header title="修改客戶資料"> <a @click="toBack" replace slot="left"> <a class="back-icon"></a> </a> <!--這個(gè)頭部導(dǎo)航欄關(guān)鍵的是mt-header父標(biāo)簽,而該標(biāo)簽內(nèi)的內(nèi)容是根據(jù)需求寫的哦--> </mt-header> </template>
組件效果圖
2. 然后看官網(wǎng)文檔的第二種引入和用法:
我們可以看到這種組件引入的時(shí)候,居然沒有Vue.component("對(duì)應(yīng)的組件名"),然后看基本用法,就這么簡(jiǎn)單一句......
我參照第一種方法直接引入文檔的Toast組件,然后在script里面使用,這個(gè)時(shí)候會(huì)報(bào)錯(cuò):
//提示框 import { Toast } from 'mint-ui'; created:function(){ Toast("使用Toast"); //這里是為了測(cè)試才寫在created里面,在平時(shí)用的時(shí)候,是根據(jù)自己需要放在對(duì)應(yīng)的位置使用的 }
百度了一下,好像挺多人跟我一樣遇到這個(gè)問(wèn)題的......
其實(shí)我們看下Toast的使用語(yǔ)句,就可以知道Toast是一個(gè)方法,既然是方法,直接在js里面未定義使用就會(huì)報(bào)錯(cuò),所以我們?cè)谝朐摻M件的時(shí)候,將該方法設(shè)置為全局變量:
//在main.js里面添加,這里需要將Toast方法設(shè)置為全局變量,否則就要在每個(gè)用到該方法的vue頁(yè)面重新引入該組件.... import { Toast } from 'mint-ui'; window.Toast= Toast;
設(shè)置完之后就不再報(bào)錯(cuò)了, 再看一下頁(yè)面該組件:
組件效果圖
總結(jié)
以上所述是小編給大家介紹的在vue項(xiàng)目中安裝使用Mint-UI,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue elementui select標(biāo)簽監(jiān)聽change事件失效問(wèn)題
這篇文章主要介紹了vue elementui select標(biāo)簽監(jiān)聽change事件失效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04vue動(dòng)態(tài)路由刷新失效以及404頁(yè)面處理辦法
作為一個(gè)前端新手,項(xiàng)目中遇到權(quán)限處理時(shí),通常會(huì)采用動(dòng)態(tài)添加路由的方法來(lái)實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue動(dòng)態(tài)路由刷新失效以及404頁(yè)面處理辦法的相關(guān)資料,需要的朋友可以參考下2023-11-11基于 flexible 的 Vue 組件:Toast -- 顯示框效果
這篇文章主要介紹了基于 flexible 的 Vue 組件:Toast -- 顯示框效果,需要的朋友可以參考下2017-12-12elementUI樣式修改未生效問(wèn)題詳解(掛載到了body標(biāo)簽上)
vue+elementUI項(xiàng)目開發(fā)中,經(jīng)常遇到修改elementUI組件樣式無(wú)效的問(wèn)題,這篇文章主要給大家介紹了關(guān)于elementUI樣式修改未生效問(wèn)題的相關(guān)資料,掛載到了body標(biāo)簽上,需要的朋友可以參考下2023-04-04使用Vue做一個(gè)簡(jiǎn)單的todo應(yīng)用的三種方式的示例代碼
這篇文章主要介紹了使用Vue做一個(gè)簡(jiǎn)單的todo應(yīng)用的三種方式的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10vue2的todolist入門小項(xiàng)目的詳細(xì)解析
本篇文章主要介紹了vue2的todolist入門小項(xiàng)目的詳細(xì)解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Element-UI 解決el-table中圖片懸浮被遮擋問(wèn)題小結(jié)
在開發(fā)中,發(fā)現(xiàn)element-ui在el-table中添加圖片懸浮顯示時(shí),會(huì)被單元格遮擋的問(wèn)題,對(duì)于此問(wèn)題解決其實(shí)也并不難,將懸浮圖片放在body節(jié)點(diǎn)下,通過(guò)定位顯示即可,感興趣的朋友跟隨小編一起看看吧2024-06-06vue+elementUI實(shí)現(xiàn)表格關(guān)鍵字篩選高亮
這篇文章主要為大家詳細(xì)介紹了vue+elementUI實(shí)現(xiàn)表格關(guān)鍵字篩選高亮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05