收藏
回答

把canvas 和ctx 当作参数传给别的组件

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug canvas 微信安卓客户端 8.0 3.6.5

https://developers.weixin.qq.com/miniprogram/dev/framework/ability/canvas.html

wx.createSelectorQuery()
    .select('#myCanvas') // 在 WXML 中填入的 id
    .fields({ node: true, size: true })
    .exec((res) => {
        // Canvas 对象
        const canvas = res[0].node
        // 渲染上下文
        const ctx = canvas.getContext('2d')
    })


canvas 对象只能在回调函数里获取,那这样没办法把canvas 和ctx 当作参数传给别的组件, 
比如<post ctx="{{ctx}}" canvas="{{canvas}}" .../> ,收于是异步初始化,传过去是个空对象,除了同步API, 这个问题怎么解?? 


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

1 个回答

  • 一笑皆春
    一笑皆春
    12-06

    canvas和ctx定义成页面的参数,然后子组件监听变化

    12-06
    有用
    回复 7
    • 一笑皆春
      一笑皆春
      12-06
      或者通过调用子组件的方法把这俩传过去
      12-06
      回复
    • 三毛
      三毛
      12-06
      我就是子组件+监听 ,能传过去,但是调用方法出错,报方法不存在,比如ctx.moveTo()  方法不存在。
      12-06
      回复
    • 一笑皆春
      一笑皆春
      12-06回复三毛
      换个思路,所有的画布相关的让子组件触发父组件的方法,父组件去用ctx
      12-06
      回复
    • 三毛
      三毛
      12-06回复一笑皆春
      没懂,能具体点吗,给点代码示例?
      12-06
      回复
    • 一笑皆春
      一笑皆春
      12-07回复三毛
      子组件向父组件传参
      12-07
      回复
    查看更多(2)
登录 后发表内容