写了一个通用组件用于收集formId,因为一个页面需要一个formId就可以了,所以写了个通用的套在页面外边,页面中原来的逻辑很多,有跳转有弹窗也有单纯的展示。submitHandler ‍中打印了formId,开发者工具中运行正常,也就是每次点击页面任何地方,包括跳转事件都会打印“the formid is a mock one”说明每次都有触发收集事件,但是在小程序真机中运行时,只有在不跳转的情况下才会打印formid,跳转是不打印的,而且抓包显示不打印时也没有请求相关接口,说明没有触发到收集函数,而且这种不触发还是不稳定的,有的时候会触发有的时候又不会。求问是有什么相关限制,还是说需要特别的处理方式?

展开全部
收起
8回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 纸短情长

    16人对此回答表示赞同

    如果和事件有关系的话,跳转事件用的bindtap,是冒泡事件,submit事件不冒泡,可是form在最外层,显然不会被冒泡事件影响吧,而且就算影响,也应该小程序真机和模拟器都影响,没道理小程序真机和模拟器表现不同吧

    展开
    16
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Sarah

    14人对此回答表示赞同

    那不就不能一个页面只套一个了?只能挨个有跳转事件的来套form?这样的话一个页面会产生很多个formid耶,这样会不会有点没必要?

    展开
    14
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Stella

    13人对此回答表示赞同

    求解答

    展开
    13
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 末代恋人

    10人对此回答表示赞同

    还是可以做的,就是比较麻烦一点。你可以通过Object.defineProperties重写wx.navigateTo等所有的跳转类方法,因为navigator标签的跳转也会走这些跳转API方法,所以包装过之后就有了做一些额外事情的机会。

    展开
    10
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 喜怒无常

    9人对此回答表示赞同

    我大概明白你的意思了,先拿到Id再跳转,但是现在的情况是跳转的情况会很多,有的是标签跳有的是bindtap绑定的api跳,想要抹平他们之间的差异,写一个通用的组件是不是有点不太现实?

    展开
    9
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 林小姐也是lyn

    4人对此回答表示赞同

    是的,这里需要在submit中阻止跳转才能拿到formId。

    展开
    4
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 那都不是事儿

    2人对此回答表示赞同

    他的意思是,想要拿到formId就不能让页面跳转走,可能拿formId这个动作需要一点时间吧。你可以试一下把跳转动作改成拿到formId之后再执行,这样你就需要包装navigator组件,然后将跳转url、参数、跳转方式等信息放在event.detail里面,然后在你自定义的form组件里面来执行跳转的动作。

    展开
    2
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Chavez3

    2人对此回答表示赞同

    好的,谢谢你的指导,我尝试一下看

    展开
    2
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部