vue项目里在微信浏览器调用微信分享及支付一些页面数据的坑

vue项目里在微信浏览器里打开,因为是vue框架的问题,在微信浏览器里相当于打开的页面始终是一个,并没有刷新,所以有些页面数据分享出去,往往分享出去的数据不对,对此,我们只能通过刷新当前页面已完成分享当前页面数据的正常,代码如下:

解决分享,微信支付方法一:

router_instance.beforeEach(function (to, from, next) {
  // loading 相关
  // Vue.$vux.confirm.hide()
  // Vue.$vux.toast.hide()
  if(to.path == '/waimai/invitation'){(此处为你想分享出去的页面路由)
    if (to.path !== location.pathname) {
        // 此处不可使用location.replace
        location.assign(to.fullPath)
    } else {
        next()
    }
  }else{
    next();
  }
});

  上述方法可解决分享问题。

当然微信浏览器里调微信支付也是很正常的操作对吧,你会发现正常走vue的然后调微信支付会调起失败,这时候你也可以把上述方法加进去,对的,同样是vue的机制问题,页面需要更新路由,上述方法亦可解决,当然你从支付页面上级页面跳转过去的时候用上

解决微信支付方法二:

location.href

跳转去支付页面也可以解决页面调起微信支付失败。

最后说下,上面方法一是写在路由(router/index.js)这个里面就阔以啦。(有不足可以给点建议啦,毕竟个人能力有限,欢迎大家积极留言)

最后的最后,我会持续更新我所踩的一些坑分享给大家啦,希望大家可以少走一些弯路

原文地址:https://www.cnblogs.com/fengxueshang/p/10572395.html