赵永强
赵永强
  • 发布:2023-02-15 15:18
  • 更新:2024-11-18 17:15
  • 阅读:404

【报Bug】使用view标签时,vue3 xxxx.value.appendChild is not a function,div标签正常

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版

HBuilderX类型: 正式

HBuilderX版本号: 3.6.17

浏览器平台: Chrome

项目创建方式: HBuilderX

示例代码:
<view class="content" ref="myRoom"   id="myRoom"></view>  
<script setup lang="ts">  
    import * as THREE from 'three';  
    import { onMounted,ref } from 'vue'  
    //初始化场景  
    const scene = new THREE.Scene()  
    //初始化相机  
    const camera = new THREE.PerspectiveCamera()  
    //初始化渲染器  
    const renderer = new THREE.WebGLRenderer();  
    renderer.setSize(window.innerWidth,window.innerHeight)  
    const myRoom = ref(null)  
    //挂载完毕获取dom  
    onMounted(()=>{  
        // document.getElementById('myRoom')?.appendChild(renderer.domElement)  //这一种可以  
        myRoom.value.appendChild(renderer.domElement) // 这一种不行  
    })  
</script>

操作步骤:

看示例

预期结果:

xxx.value.appendChild可以使用

实际结果:

xxx.value.appendChild报错

bug描述:

在h5使用threejs的时候报错,xxx.value.appendChild is not a function 解决方法:第一种是使用document.getElementById('myRoom')?.appendChild(renderer.domElement) 第二种是view标签换成div就好了

2023-02-15 15:18 负责人:无 分享
已邀请:
赵永强

赵永强 (作者) - 前端老菜鸟

官方的人呢

  • DCloud_UNI_LXH

    myRoom.value 打印一下是什么?

    2023-02-16 11:24

  • 赵永强 (作者)

    回复 DCloud_UNI_LXH: { "hoverClass": "none", "hoverStopPropagation": false, "hoverStartTime": 50, "hoverStayTime": 400 }

    2023-02-20 09:18

  • 赵永强 (作者)

    回复 DCloud_UNI_LXH: 而div打印出来的是dom标签

    2023-02-20 09:19

yyyttt

yyyttt

<view> 很明显是个组件

薯片别闹

薯片别闹

用webview吧,这块做的确实不太好

要回复问题请先登录注册