背景

    由于公司要用刚小程序开发个旧项目。历时一个月,来说说遇到的坑吧。

用到的技术

  • mpvue
  • vant(weapp)

1、关于ui框架weapp的引入

     不是传统的npm模块的安装引入,安装后需要下载静态文件,再从app.json中引入,
看官网链接官网教程

2、app.json

  • 这相当于微信的配置文件,里面可设置增加页面,插件(例如weapp组件的引入),增加了页面后,每次都要npm run dev,不然不生效。

3、mpvue,没有路由这个概念。

  • 若要使用,请装mpvue-router-patch,这个插件。
  • router.push({ path: '/pages/news/list', reLaunch: true }),只能跳转7次(或者5次,具体忘了),可改用$router.replace(但此项不支持微信原生的tab的跳转。)

4、v-html 无效

  • html内想解析'<p>213</p>'字符串标签,用v-html,无效。
  • 解决方法:利用mpvue-wxparse这个插件。

5、dom问题

  • 小程序内没有dom的概念,所有使用到dom的插件都报错。querySelector,$refs这些都不可以。。

6、父子组件传值问题

  • 父->子,props传值,子组件的html内渲染时能拿到这个值。
  • onShow(),mounted()方法内是拿不到的,在methods的方法内可以拿到。(生命周期问题)
  • 解决方法:vuex,watch这个参数。

7、textarea问题

  • 这个是真的操了蛋,textarea内设置了placeholder属性,这个层级是最高的,有弹窗的话,会覆盖这个弹窗。如下图,z-index怎么设置都是无效的。
    图片
    图片
  • 解决方法:弹窗打开时隐藏这个textarea,关闭时显示这个textarea

8、wx.chooseImage

  • 如果是多图片上传,数组操作用.push()无法展现。
  • array.concat()解决。

9、图片懒加载

  • vue-lazyload 这货不支持。
  • mpvue-img-load用着个。

我也刚刚入手,如有问题,欢迎指出。