川儿
川儿
  • 发布:2019-11-22 10:05
  • 更新:2019-11-22 10:05
  • 阅读:1473

组件嵌套 子组件中无法显示canvas 此问题 小程序 H5 都无法正常显示

分类:uni-app

详细问题描述

父组件中嵌套子组件 在子组件中是用canvas 无法显示 并且 在H5中的底部导航栏的页面中出现 但是闪烁 加上异步后才得以显示 .

[内容]

重现步骤

在页面上根据条件使用v-sohw显示不同的组件在其中一个子组件中使用navigator 再次跳转不同的的组件页面中 并在页面中判断 使用v-show显示不同的组件 OK 重点来了 我在这个这个子组件中无法显示出canvas 小程序能够显示 但是 H5 不能

[步骤]
perv.vue 父组件
<view class="recordItem">
<image src="/static/images/wlgz/kt.png"></image>
<view class="item_list">
<text>空调</text>
<text>关联4个设备</text>
</view>
<!-- 步骤一 -->
<navigator url="/pages/application/apiControl/apiControl?pageKey=kt" open-type="navigate" hover-class="navigator-hover" >
<image src="/static/images/wlgz/kzz.png" style="width:169upx; height: 90upx; margin-right: -30upx;"></image>
</navigator>
</view>

apiControl.vue页面
<template>
<view>
<apiCmp v-if="pageKey=='cl'"></apiCmp>
<!-- 步骤二 -->
<aircondition v-if="pageKey=='kt'"></aircondition>
</view>
</template>

aircondition.vue 子组件
<!-- 步骤三 -->
<canvas style="width: 750px; height: 400px;" canvas-id="myCanvas9" id="myCanvas9"></canvas>
JS
onReady() {
const ctx = uni.createCanvasContext('myCanvas9',this)
ctx.arc(190,80,70,0.7Math.PI,0.30Math.PI);
ctx.setFillStyle('#EEEEEE')
setTimeout(function(){
ctx.fill()
ctx.draw()
},200)
},

[结果]
无法显示
[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]
H5

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-11-22 10:05 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复