由于之前使用vue进行开发,然后就尝试使用了mpvue
类似的进行小程序的开发基本上能与vue语法相识,而wepy
则是类似vue语法感觉不像了,所以选用了mpvue
, 之前也有通过原生的小程序语法进行开发过。因为原生小程序中现在可以自定义tabbar
了,所以就直接上手了。对在mpvue
中自定义tabbar
的尝试。
-
在相关
app.json
中配置list
(list中配置项数得跟下面的custom-tab-bar
中的index.js
渲染的tabar
数据条数相对应)并且设置custom
为true
。 -
在
pages
中建立custom-tab-bar
目录并且按照微信小程序官方文档写的自定tabbar
样式(原生小程序写法),在跳转路由的使用小程序的tabbar
跳转事件switchTab
。 -
配置修改mpvue中打包在
build
下的webpack.base.conf.js
文件添加一项new CopyWebpackPlugin
直接进行拷贝不进行mpvue
的进行打包。如下:
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../src/pages/custom-tab-bar'),
to: path.resolve(config.build.assetsRoot, './custom-tab-bar'),
ignore: ['.*']
}
])
- 相关的选中事件要通过
tabbar
中对应的页面在onShow
中通过getTabBar
获取tabbar
的实例然后进行设置值改变选中状态。(最初我直接通过小程序中component
中的js直接跳转后改选中的状态发现不行,后来通过mpvue官方的github
的issuss
通过大神指点之后才知道原来要通过对应的页面获取getTabBar
实例改变data
然后实现正确的选中)。
# 安装依赖
npm install
# 开发时构建
npm dev
# 打包构建
npm build