无法读取未定义的 属性 'getOrCreateGeometry'

Cannot read property 'getOrCreateGeometry' of undefined

我正在使用 A-Frame 和 Angular 2.

代码简单,展示的是一个弯曲的图像:

  <a-curvedimage src="https://upload.wikimedia.org/wikipedia/commons/b/be/Random_pyramids.jpg"
    position="0 2 -20"
    theta-length="72"
    height="2.6">
  </a-curvedimage>

没有Angular 2路由器,它工作得很好:working plunker

添加路由器后,出现如下错误。 issue plunker

VM14540 aframe.min.js:75 Uncaught TypeError: Cannot read property 'getOrCreateGeometry' of undefined

而且我发现如果我在 issue plunker 中删除这两个 theta-length="72" height="2.6",它不会通过错误。

我想theta-length="72" height="2.6"和路由器一起使用。这可能是什么原因造成的?谢谢

感谢@ngokevin @perak @alxhub @DzmitryShylovich 在 GitHub.

上的帮助

所以就像@ngokevin 说的那样:错误是因为在初始化几何体时,某些东西还没有用场景初始化。

工作方式是

http://plnkr.co/edit/MkQkrneTXYcZ1w6YFoLm?p=preview

<a-scene (loaded)="onLoaded()">
  <a-curvedimage
    *ngIf="show"
    src="https://upload.wikimedia.org/wikipedia/commons/b/be/Random_pyramids.jpg"
    position="0 2 -20"
    theta-length="72"
    height="2.6">
  </a-curvedimage>
</a-scene>

.

show = false;
onLoaded() {
  this.show = true;
}