收藏
回答

map组件拿不到page实例this,导致拿不到page中定义的data

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug map 客户端 最新 最新

- 当前 Bug 的表现(可附上截图)

下面是代码截图,很简单的代码 使用bindmarkertap方法触发图标点击事件,然后再事件中的this我怀疑是map对象,所以拿不到page下的data,这里我不管打印什么都是undefined。

业务需求是点击图标点可以获取图标点经纬度,然而多方面查询后发现暂不支持,

于是想了第二个解决办法 : 在onload中把所有的图标经纬度数组拿到,存到data中,然后根据markerId 来拿 marBrr[e.markerId - 1], 根据索引拿。满心欢喜,结果拿不到this...

然而自己提着提着意见 突然想到存在localStorage中。。。我再去试试,

然而这个bug/需求还是要提的,

尽快支持marker点击获取经纬度吧。 众望所需。

谢谢




- 预期表现


- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  06-28  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 嗯?
    嗯?
    06-28

    反馈一下,存到storageSync是可以的, 感谢祖国感谢党。

    另外吐槽一下网上解决办法居然全都是铺满一层marker ??? WTF ,你们家小程序不要面子的?

    真心希望早点支持点击获取lon lat

    06-28
    赞同 1
    回复 4
    • 福
      06-28

      你怕是没有加data吧

      06-28
      回复
    • 嗯?
      嗯?
      06-28回复

      能说详细一点么老哥


      06-28
      回复
    • 福
      06-28回复嗯?

      你直接打印that 看看数据 就明白了

      06-28
      回复
    • 嗯?
      嗯?
      06-29回复

      突然明白为什么了老哥, vue写习惯了 用的console.log(this.phone),,, 小程序里应该是console.log(this.data.phone).....多谢老哥了

      06-29
      回复
  • 黄伟。.
    黄伟。.
    06-28

    没问题啊。

    06-28
    赞同
    回复 5
    • 嗯?
      嗯?
      06-28

      那么老哥,我这里打印都是undefined是和解? 不管是初始在data中定义的 还是onload后setData的,都是undefined。 在开发者工具的appDATA中也是有对应数据的。

      如果map中的this是page对象,

      那么可能真的是一个bug.

      06-28
      回复
    • 黄伟。.
      黄伟。.
      06-28

      建议你弄个代码片段出来看看 比较好

      06-28
      回复
    • 嗯?
      嗯?
      06-28回复黄伟。.

      有代码片段教程吗? 有时间搞一下,

      06-28
      回复
    • 黄伟。.
      黄伟。.
      06-28

      https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      06-28
      回复
    • 嗯?
      嗯?
      06-29回复黄伟。.

      突然明白为什么了老哥, vue写习惯了 用的console.log(this.phone),,, 小程序里应该是console.log(this.data.phone).....多谢老哥了

      06-29
      回复