3438关注10457浏览
初始化阶段
重新渲染
- 预期表现
通过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
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Asher
9人对此回答表示赞同
你提供的代码片段wxml乱码了,麻烦重新提供下能复现问题的代码片段,谢谢
展开92回复分享发布于 6年前评论(2)
收起评论
-
沧海一声笑
5人对此回答表示赞同
代码片段
展开52回复分享发布于 6年前评论(2)
收起评论
-
贺纸张 2019-01-19 17:32
改用hidden属性,首屏卡点就卡点了
回复 -
李思思044 2019-01-21 08:08
wx:if是false是销毁节点,
回复
-
-
本人不在
1人对此回答表示赞同
是的,数据刷新后能够重新出来,但是现在只想用渲染的方式去控制,我这个首屏数据量比较大不可能切换一次刷新一次
展开10回复分享发布于 6年前评论(0)
收起评论
代码片段不能用就没回应了么,copy技能都不用了么...
直接复制啊,上面代码就是代码片段里的