mpvue-vant
記錄了咱們團隊開發中在mpvue
中使用Vant Weapp
組件庫所踩下的坑,在這裏分享給你們,讓mpvue
開發者可使用vant
組件庫進行開發,避免踩沒必要要的坑。vue
此教程是在dov-yih一同協助下完成。通過測試,Vant Weapp下全部組件都可以在mpvue
中使用node
目前vant已經支持了npm
的方式,可是因爲node_modules
目錄下的代碼是不會被編進dist
目錄下的,因此暫時只能用git
方式使用。
將dist
目錄下的全部文件複製到你項目的/static/vant/
目錄下。git
git clone https://github.com/youzan/vant-weapp.git
// 固然你也能夠克隆本倉庫代碼,本倉庫會與`vant`倉庫保持同步。直接將`vant`目錄複製到`/static`目錄下 git clone https://github.com/Rychou/mpvue-vant.git
在須要引入的頁面目錄下的main.json
文件中github
{ "usingComponents": { "van-button": "/static/vant/button/index", } }
<van-button>測試</van-button>
具體組件 api 文檔參考Vant Weappnpm
mpvue 和原生小程序的方式有所不一樣。能夠參考mpvue文檔json
原生小程序使用方式爲小程序
value="{{value}}"
mpvue 使用方式微信小程序
v-bind:value="value" //或者 :value="value"
原生小程序使用方式api
bind:click="onClick"
mpvue 使用方式微信
@click="onClick"
vant
中像notify
這種操做反饋類的組件都有兩個引入,一是組件的引入,這個在main.json
中引入;另外一個是方法的引入,須要在vue
文件中import
引入,值得注意的是,這裏的引入不能使用絕對路徑,能夠用相似於這樣的相對路徑。
import Notify from '@/../static/notify/notify' //@是mpvue的一個別名,指向src目錄
值得注意的是,mpvue
中獲取event
值與原生小程序有所不一樣。舉例:
onChange(event){ // 獲取表單組件filed的值 console.log(event.mp.detail) // 注意加入mp }
mpvue 裏面沒法使用@click-icon
這樣的監聽名,所以若是 API 文檔裏面有出現這樣的監聽名,那麼須要手動修改源代碼。
能夠改爲駝峯式的監聽名。
eg: 我在field
組件中就遇到這個問題,個人作法是:
// static/vant/field/index.js this.$emit('click-icon'); // 修改成: this.$emit('clickIcon');
通常的報錯報錯均可以經過一下流程處理。
ES6轉ES5
功能。npm run dev
或刪掉dist
目錄從新npm run dev
若以上流程都走完了,仍是沒法解決報錯,能夠經過提交issues
的方式,我來幫你解決。
VM54:1 thirdScriptError sdk uncaught third Error module "static/vant/notify/index.js" is not defined
解決辦法是:打開小程序開發者工具中的ES6 轉 ES5功能. issues/#5
目前比較好的組件庫有三個,Wux Weapp,iview weapp,Vant Weapp。
這三者都是用原生小程序寫的組件庫,所以理論上來講,在 mpvue 中都是能夠無縫使用的。不一樣組件庫的組件都不同,有的更豐富,有的邏輯更完善,有的文檔更清晰。所以用什麼組件,還須要本身取捨。
好比:三者中,惟有Wux Weapp有日曆組件,並且它裏面還有一些更高級的組件可使用。
使用方法上,幾乎沒有差別。值得注意的是,你們複製源代碼到本身項目上時,應該複製/dist/
目錄下的文件。由於這裏是通過編譯後的。
若是你們使用過程當中遇到什麼 BUG,能夠經過提issues的方式讓我知道,你們一塊兒踩坑吧!
基於 vant 和 wux 組件庫,以及小程序雲開發開發的一個小程序。以及總結了mpvue
中使用雲開發的注意事項,mpvue-cloud
收錄各類貓叫聲,幫助與貓咪交流,分享一些養貓的小知識等。
這是我近期使用Taro
開發框架開發的一款小程序,主要功能是提供可靠的書架管理
功能,只須要掃一掃書籍背後的條形碼便可添加書籍入庫,你能夠方便的在線上管理你的書架,查看書籍的基本信息,亦能夠添加書評。
該項目得到了微信小程序 U 計劃的資助。目前項目正在開發中,歡迎你們體驗反饋。