Threejs 和 orbitcontrol

Threejs and orbitcontrol

我不明白这是否是纯粹的 javascript 错误。在下面的 class 函数中,我添加了一个 eventListener return 我这个错误:

Uncaught TypeError: Cannot read property 'call' of undefined

我想澄清一下,所有调用的函数都已正确定义。

function OrbitController(v){
var that = this;
this.view = v;
this.controls = new THREE.OrbitControls(this.view.getCamera(),this.view.renderer.domElement);
this.controls.addEventListener( 'change', that.view.show());// Uncaught TypeError: Cannot read property 'call' of undefined
this.controls.target = new THREE.Vector3(0, 0, 0);
}

除非that.view.show()returns一个函数,那么它应该只是

this.controls.addEventListener( 'change', that.view.show ); 

试试这个解决方案:

this.controls.addEventListener( 'change',  function(){ that.view.show()});