在vue項目中安裝使用Mint-UI的方法
一、Mint UI 是 由餓了么前端團隊推出的 一個基于 Vue.js 的移動端組件庫,具有以下特性: 使用文檔:
http://mint-ui.github.io/#!/zh-cn
- Mint UI 包含豐富的 CSS 和 JS 組件,能夠滿足日常的移動端開發(fā)需要。通過它,可以快速構建出風格統(tǒng)一的頁面,提升開發(fā)效率。
- 真正意義上的按需加載組件??梢灾患虞d聲明過的組件及其樣式文件,無需再糾結文件體積過大。
- 考慮到移動端的性能門檻,Mint UI 采用 CSS3 處理各種動效,避免瀏覽器進行不必要的重繪和重排,從而使用戶獲得流暢順滑的體驗。
- 依托 Vue.js 高效的組件化方案,Mint UI 做到了輕量化。即使全部引入,壓縮后的文件體積也僅有 ~30kb (JS + CSS) gzip。
二、首先要創(chuàng)建一個vue項目,參考前面寫的 http://www.dhdzp.com/article/131600.htm
三、接著安裝 Mint UI:
npm i mint-ui --save
四、然后需要引入 Mint UI ,這里有兩種情況:
1. 引入全部組件
如果項目會用到 Mint UI 里較多的組件,最簡單的方法就是把它們?nèi)恳?。此時需要在入口文件 main.js 中:
import Mint from 'mint-ui'; Vue.use(Mint); import 'mint-ui/lib/style.css';
2. 按需引入
如果你只需要使用某個組件,可以僅引入這個組件,Mint UI 能夠保證在代碼打包時,與這個組件無關的文件不會出現(xiàn)在最終代碼里。比如需要引入 Button 組件,則在 main.js 中:
import Button from 'mint-ui/lib/button'; import 'mint-ui/lib/button/style.css'; Vue.component(Button.name, Button);
上面兩種引入方法都要單獨引入相應的 CSS 文件。這很不方便,尤其當你使用按需引入的方法引入多個組件時。
五、為了避免這個問題,可以使用babel-plugin-component插件。
1. 首先當然是安裝它:
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. 這樣上述兩種引入方法就可以簡化為:
//import Mint from 'mint-ui';
//Vue.use(Mint);
//import 'mint-ui/lib/style.css'; //不需要手動導入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);
前面安裝的插件會自動引入相應的 CSS 文件!
六、具體使用UI組件 -- 可以直接參考官方文檔http://mint-ui.github.io/docs/
使用的過程中發(fā)現(xiàn)Mint UI文檔不是很詳細,很多具體的用法都需要另外百度...
1.首先看下官方文檔的第一種引入和用法:


這種組件引入的時候,有一行Vue.component("對應的組件名"),使用的時候是再vue文檔的template部分,使用對應的標簽名加屬性,其實就是直接復制官方文檔的代碼即可,不過相對復雜多屬性的組件就要另外百度了.
那么接下來看一下在項目中的使用代碼:
//在main.js里面添加--復制官方文檔該組件對應的引入即可
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>
<!--這個頭部導航欄關鍵的是mt-header父標簽,而該標簽內(nèi)的內(nèi)容是根據(jù)需求寫的哦-->
</mt-header>
</template>
組件效果圖
2. 然后看官網(wǎng)文檔的第二種引入和用法:


我們可以看到這種組件引入的時候,居然沒有Vue.component("對應的組件名"),然后看基本用法,就這么簡單一句......
我參照第一種方法直接引入文檔的Toast組件,然后在script里面使用,這個時候會報錯:
//提示框
import { Toast } from 'mint-ui';
created:function(){
Toast("使用Toast"); //這里是為了測試才寫在created里面,在平時用的時候,是根據(jù)自己需要放在對應的位置使用的
}

百度了一下,好像挺多人跟我一樣遇到這個問題的......
其實我們看下Toast的使用語句,就可以知道Toast是一個方法,既然是方法,直接在js里面未定義使用就會報錯,所以我們在引入該組件的時候,將該方法設置為全局變量:
//在main.js里面添加,這里需要將Toast方法設置為全局變量,否則就要在每個用到該方法的vue頁面重新引入該組件....
import { Toast } from 'mint-ui';
window.Toast= Toast;
設置完之后就不再報錯了, 再看一下頁面該組件:

組件效果圖
總結
以上所述是小編給大家介紹的在vue項目中安裝使用Mint-UI,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Vue綁定class和綁定內(nèi)聯(lián)樣式的實現(xiàn)方法
本文主要介紹了Vue綁定class和綁定內(nèi)聯(lián)樣式的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
vue3?+?Ant?Design?實現(xiàn)雙表頭表格的效果(橫向表頭+縱向表頭)
這篇文章主要介紹了vue3?+?Ant?Design?實現(xiàn)雙表頭表格(橫向表頭+縱向表頭),需要的朋友可以參考下2023-12-12
Vue監(jiān)聽localstorage變化的方法詳解
在日常開發(fā)中,我們經(jīng)常使用localStorage來存儲一些變量,這些變量會存儲在瀏覽中,對于localStorage來說,即使關閉瀏覽器,這些變量依然存儲著,方便我們開發(fā)的時候在別的地方使用,本文就給大家介紹Vue如何監(jiān)聽localstorage的變化,需要的朋友可以參考下2023-10-10
vue中使用window.open()參數(shù)示例詳解
這篇文章主要介紹了vue中使用window.open()參數(shù)詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
vue菜單欄聯(lián)動內(nèi)容頁面tab的實現(xiàn)示例
本文主要介紹了vue菜單欄聯(lián)動內(nèi)容頁面tab的實現(xiàn)示例,左側菜單欄與右側內(nèi)容部分聯(lián)動,當點擊左側的菜單,右側會展示對應的tab,具有一定的參考價值,感興趣的可以了解一下2024-01-01
vue2.0+elementui實現(xiàn)一個上門取件時間組件
這篇文章主要給大家介紹了關于vue2.0+elementui實現(xiàn)一個上門取件時間組件的相關資料,用于預約上門服務時間 看到網(wǎng)上有很多亂七八糟的代碼,看著頭疼,于是自己寫了一個簡單的,需要的朋友可以參考下2024-02-02

