<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>
- 发布:2023-02-15 15:18
- 更新:2024-11-18 17:15
- 阅读:404
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11 家庭中文版
HBuilderX类型: 正式
HBuilderX版本号: 3.6.17
浏览器平台: Chrome
项目创建方式: HBuilderX
示例代码:
操作步骤:
看示例
看示例
预期结果:
xxx.value.appendChild可以使用
xxx.value.appendChild可以使用
实际结果:
xxx.value.appendChild报错
xxx.value.appendChild报错
bug描述:
在h5使用threejs的时候报错,xxx.value.appendChild is not a function 解决方法:第一种是使用document.getElementById('myRoom')?.appendChild(renderer.domElement) 第二种是view标签换成div就好了
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