开发环境
- Ionic4 + Angular8 + Threejs(r111)
- Ubuntu18.04
- Visual Studio Code
错误提示
项目中使用到了threejs库, 在添加了OrbitControls之后构建出现了如下错误:
VM1988 vendor.js:40772 ERROR TypeError: Cannot read property 'addEventListener' of undefined
at new OrbitControls (VM2167 pages-home-home-module.js:64021)
原因解析及解决方法
这是由于threejs新版(r109之后)与上一个版本的兼容性引起的, 旧版在创建OrbitControls对象时的写法是OK的:
// controls: OrbitControls;
this.controls = new OrbitControls(this.camera);
在新版里则需要同时传入渲染器的domElement对象,如:
this.controls = new OrbitControls(this.camera, this.renderer.domElement);
本文详细解析了在Ionic4+Angular8环境下使用Three.js(r111)时遇到的OrbitControls错误,并提供了针对性的解决方案,涉及新版Three.js与旧版写法的兼容性问题。
764

被折叠的 条评论
为什么被折叠?



