收藏
回答

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

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

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

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

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

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

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

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

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

谢谢




- 预期表现


- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

2 个回答

  • 嗯?
    嗯?
    2019-06-28

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

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

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

    2019-06-28
    有用 1
    回复 4
    • 福
      2019-06-28

      你怕是没有加data吧

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

      能说详细一点么老哥


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

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

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

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

      2019-06-29
      回复
  • 黄伟
    黄伟
    2019-06-28

    没问题啊。

    2019-06-28
    有用
    回复 5
    • 嗯?
      嗯?
      2019-06-28

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

      如果map中的this是page对象,

      那么可能真的是一个bug.

      2019-06-28
      回复
    • 黄伟
      黄伟
      2019-06-28

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

      2019-06-28
      回复
    • 嗯?
      嗯?
      2019-06-28回复黄伟

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

      2019-06-28
      回复
    • 黄伟
      黄伟
      2019-06-28

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

      2019-06-28
      回复
    • 嗯?
      嗯?
      2019-06-29回复黄伟

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

      2019-06-29
      回复
登录 后发表内容