app比比
app比比
  • 发布:2023-03-16 09:30
  • 更新:2023-07-15 20:34
  • 阅读:819

无法识别微信小程序skyline框架下的wx.router.getRouteContext(this)

分类:uni-app

在使用微信手势系统,想要通过手势返回上一页,微信官方给出的代码是


<horizontal-drag-gesture-handler onGestureEvent="handleHorizontalDrag">  
  <view class="gesture-back-area"></view>  
<horizontal-drag-gesture-handler/>  

attached() {  
   this.customRouteContext = wx.router.getRouteContext(this)  
}  

handleHorizontalDrag(evt) {  
      'worklet'  
const { stopUserGesture, didPop } =  
      this.customRouteContext;  
...  
didPop();  
...  
}

编译输出
console.log(this.customRouteContext)
报错
vendor.js? [sm]:2778 TypeError: e.getPageId is not a function

想问下原生小程序这里的this,是不是在uniapp中换一种写法?

2023-03-16 09:30 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

通过附件提供下测试工程,谢谢

  • app比比 (作者)

    已提交附件,谢谢

    2023-03-16 11:28

app比比

app比比 (作者)

demo中有index和next两个页面
需要的效果:
点击index的图片进入next页面,next页面的图片按住鼠标下滑回到上一页

应用到了共享元素和手势系统。
遇到的问题:demo中实现了共享元素切换和手势识别,但是无法进行didPop()返回上一页

因 wx.router.getRouteContext报错,我注释掉了next页面的下面几行,取消注释进行测试
第69行 this.customRouteContext = wx.router.getRouteContext(this)
第82行 const { startUserGesture } = this.$scope.customRouteContext
第83行 startUserGesture()

第108行 const { stopUserGesture, didPop } = this.$scope.customRouteContext
第116行 didPop()
第117行 stopUserGesture()

app比比

app比比 (作者)

以下是附件

  • DCloud_UNI_WZF

    跑了下你的测试工程,在我这有一些报错,实测确实拿不到 wx.router.getRouteContext,可尝试通过 微信原生小程序开发测试该写法是否支持,如支持,提供下最简可复现demo,这边再排查下,谢谢

    2023-03-16 11:59

  • app比比 (作者)

    回复 DCloud_UNI_WZF: 输出了原生的代码片段:https://developers.weixin.qq.com/s/ZcQUXKm77TGd

    2023-03-16 14:57

  • app比比 (作者)

    回复 DCloud_UNI_WZF: 原生测试是支持的

    2023-03-16 14:58

  • app比比 (作者)

    回复 DCloud_UNI_WZF: this.customRouteContext = wx.router.getRouteContext(this)这句原生里我是放到了onLoad里,uniapp我放到了onLoad()里提示TypeError: e.getPageId is not a function,TypeError: Cannot read property 'customRouteContext' of undefined

    2023-03-16 15:03

DCloud_UNI_WZF

DCloud_UNI_WZF

这不符合预期吧?需要什么配置吗?

  • app比比 (作者)

    是版本问题吗?我这边操作没问题。点击第一页进入第二页,拖拽第二页返回第一页

    我这边加了个第一页、第二页文字方便测试

    https://developers.weixin.qq.com/s/N9aIaMmR7sGH

    2023-03-17 11:44

  • DCloud_UNI_WZF

    回复 app比比: 你的微信开发者工具和基础库版本是多少,新的代码片段可以拖拽完会变成第一页,但是路由还在 next 再次点击第一页没反应

    而且点击第一页跳转第二页有报错 Failed get storage group data mac m1 pro 1.06.2301160 基础库 2.30.3

    2023-03-17 11:56

  • app比比 (作者)

    回复 DCloud_UNI_WZF: 我用的mac x86 Nighly 1.06.2303142. 基础库2.30.0.

    Failed get storage group data这个报错,官方案例也有,说是不影响

    2023-03-17 12:08

  • app比比 (作者)

    回复 DCloud_UNI_WZF: 更新到我用的版本就没有这个报错了

    2023-03-17 12:09

app比比

app比比 (作者)

DCloud_UNI_WZF

DCloud_UNI_WZF

f***@qq.com

f***@qq.com

跑了一下你的demo及我自己写的代码,都出现运行没有问题,但点击发行后,next页面没有正常显示,是空白的,是要做什么设置吗?

要回复问题请先登录注册