一、介绍
mpvue-vant记录了我们团队开发中在mpvue中使用Vant Weapp组件库所踩下的坑,在这里分享给大家,让mpvue开发者可以使用vant组件库进行开发,避免踩不必要的坑。
此教程是在dov-yih一同协助下完成。经过测试,Vant Weapp下所有组件都能够在mpvue中使用
mpvue-vant Github地址
二、使用方法
目前vant已经支持了npm的方式,但是由于node_modules目录下的代码是不会被编进dist目录下的,所以暂时只能用git方式使用。
克隆vant仓库
将dist目录下的所有文件复制到你项目的/static/vant/目录下。
git clone https://github.com/youzan/vant-weapp.git
// 当然你也可以克隆本仓库代码,本仓库会与`vant`仓库保持同步。直接将`vant`目录复制到`/static`目录下git clone https://github.com/Rychou/mpvue-vant.git
引入
在需要引入的页面目录下的main.json文件中
{ "usingComponents": { "van-button": "/static/vant/button/index", }}
使用
<van-button>测试</van-button>
三、注意事项
具体组件 api 文档参考Vant Weapp
1. 使用方式
mpvue 和原生小程序的方式有所不同。可以参考mpvue文档
1.1 数据绑定
原生小程序使用方式为
value="{{value}}"
mpvue 使用方式
v-bind:value="value"//或者:value="value"
1.2 事件监听
原生小程序使用方式
bind:click="onClick"
mpvue 使用方式
@click="onClick"
1.3 vue 中组件引入
vant中像notify这种操作反馈类的组件都有两个引入,一是组件的引入,这个在main.json中引入;另一个是方法的引入,需要在vue文件中import引入,值得注意的是,这里的引入不能使用绝对路径,可以用类似于这样的相对路径。
import Notify from '@/../static/notify/notify' //@是mpvue的一个别名,指向src目录
1.4 获取 event
值得注意的是,mpvue中获取event值与原生小程序有所不同。举例:
onChange(event){ // 获取表单组件filed的值 console.log(event.mp.detail) // 注意加入mp}
2. BUG 及报错处理方法
2.1 监听名
mpvue 里面无法使用@click-icon这样的监听名,因此如果 API 文档里面有出现这样的监听名,那么需要手动修改源代码。
可以改成驼峰式的监听名。
eg: 我在field组件中就遇到这个问题,我的做法是:
// static/vant/field/index.jsthis.$emit('click-icon');// 修改为:this.$emit('clickIcon');
新闻热点
疑难解答
图片精选