收藏
回答

wx.canvasToTempFilePath里面的canvasId未定义?





值突然没有了, 有大神知道是什么原因的嘛?

最后一次编辑于  09-03
回答关注问题邀请回答
收藏

4 个回答

  • Xiushan Li
    Xiushan Li
    09-03

    ec-canvas自定义组件吗

    09-03
    赞同 1
    回复 7
    • 思白
      思白
      09-03
      嗯对的 用echarts
      09-03
      回复
    • Xiushan Li
      Xiushan Li
      09-03回复思白
      楼下就是正解,console.log(wx.canvasToTempFilePath()), 这里已经是调用这个方法,canvasId是必传参,肯定报错
      09-03
      回复
    • 思白
      思白
      09-03回复Xiushan Li
      打印出来了 但是还是没用到 console去掉之后 就没反应了
      09-03
      回复
    • 思白
      思白
      09-03回复思白
      我发下面图片了
      09-03
      回复
    • Xiushan Li
      Xiushan Li
      09-03回复思白
      第一,打印出来的只是wx.canvasToTempFilePath的函数本体; 第二,你要明确,wx.canvasToTempFilePath是针对微信原生组件canvas生效的,ec-canvas明显是被封装后的,可能并不支持这个方法
      09-03
      回复
    查看更多(2)
  • 哆啦A萌¬ε¬
    哆啦A萌¬ε¬
    09-03

    应该是this指向发生了改变 ,你这样试试:

    var that = this;

    wx.canvasToTempFilePath({},that)


    09-03
    赞同
    回复 6
    • 思白
      思白
      09-03
      .....还是没有反应 除了上面的conaole 下面的都没有打印
      09-03
      回复
    • Xiushan Li
      Xiushan Li
      09-03回复思白
      wx.canvasToTempFilePath(canvasId,this), 这个this代表自定义组件实例,我建议你试下this.selectComponent(组件选择器), 获取ec-canvas这个实例,代替this
      09-03
      回复
    • 哆啦A萌¬ε¬
      哆啦A萌¬ε¬
      09-03回复思白

      没道理呀  你这样试试呢

      ctx.draw(false, setTimeout(function(){

      wx.canvasToTempFilePath({

      canvasId: 'myCanvas',

      fileType: 'jpg',

      success: function (res) {

      },

      fail: function (res) {

      }

      }, that)

      },1000));


      09-03
      回复
    • Xiushan Li
      Xiushan Li
      09-03
      wx.canvasToTempFilePath(canvasId,this)如果在自定义组件中调用是ok的,但是楼主的这方法明显是在page(父级页面)调用,this指向自己,肯定找不道对应的canvas组件
      09-03
      回复
    • 哆啦A萌¬ε¬
      哆啦A萌¬ε¬
      09-03回复思白

      那个ctx就是你定义的那个画笔的变量

      const ctx = wx.createCanvasContext('myCanvas',that)


      09-03
      回复
    查看更多(1)
  • 思白
    思白
    09-03


    09-03
    赞同
    回复
  • 卢霄霄
    卢霄霄
    09-03

    你前面console.log是想干嘛。。

    09-03
    赞同
    回复 2
    • 思白
      思白
      09-03
      打印了一下这个方法
      09-03
      回复
    • 卢霄霄
      卢霄霄
      09-03回复思白
      你末尾加了(),你打印的是调用这个方法后的返回值。。
      09-03
      回复
问题标签