初始化阶段


重新渲染


- 预期表现

通过wx:if=''重新渲染后canvas标签有显示出来但是并没有在小程序真机与模拟器上再次出现canvas图像

- 复现路径


- 提供一个最简复现 Demo


html

<view class='bac' bindtap='test'></view>

<view wx:if='{{show}}'>

  <canvas style="width: 300px; height: 200px;" canvas-id="firstCanvas"></canvas>

</view>


css

.bac{

  width: 100rpx;

  height: 100rpx;

  background: #000;

}


//js

Page({

  data:{

    show:true

  },

  test:function(){

    let that = this;

    if(that.data.show == true){

      that.setData({

        show:false

      })

    }else{

      that.setData({

        show:true

      })

    }

  },

  canvasIdErrorCallback: function (e) {

    console.error(e.detail.errMsg)

  },

  onReady: function (e) {

    // 使用 wx.createContext 获取绘图上下文 context

    var context = wx.createCanvasContext('firstCanvas')


    context.setStrokeStyle("#00ff00")

    context.setLineWidth(5)

    context.rect(0, 0, 200, 200)

    context.stroke()

    context.setStrokeStyle("#ff0000")

    context.setLineWidth(2)

    context.moveTo(160, 100)

    context.arc(100, 100, 60, 0, 2 * Math.PI, true)

    context.moveTo(140, 100)

    context.arc(100, 100, 40, 0, Math.PI, false)

    context.moveTo

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

    2044人对此回答表示赞同

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

    9人对此回答表示赞同

    你提供的代码片段wxml乱码了,麻烦重新提供下能复现问题的代码片段,谢谢

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

    评论(2)

    收起评论

    • Sofia 2019-01-17 18:41

      代码片段不能用就没回应了么,copy技能都不用了么...

      回复
    • Shriya 2019-01-19 23:40

      直接复制啊,上面代码就是代码片段里的

      回复
  • 沧海一声笑

    5人对此回答表示赞同

    代码片段

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

    评论(2)

    收起评论

    • 贺纸张 2019-01-19 17:32

      改用hidden属性,首屏卡点就卡点了

      回复
    • 李思思044 2019-01-21 08:08

      wx:if是false是销毁节点,

      回复
  • 本人不在

    1人对此回答表示赞同

    是的,数据刷新后能够重新出来,但是现在只想用渲染的方式去控制,我这个首屏数据量比较大不可能切换一次刷新一次

    展开
    1
    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
扫码咨询

扫码咨询套餐

回到顶部