打字稿类找不到"这个"变量?

时间:2015-09-20 03:39:51

标签: javascript typescript babylonjs

我正在使用babylonjs图书馆并创建了一个" Building"打字稿的类。使用打字稿整个BTW。我创造了这个新的"建筑"来自我的主要游戏。#34;游戏"在尝试访问" Building"的成员时我得到了#34;未定义"变量错误。但是,这只发生在另一个类方法中,但似乎在构造函数中正常工作。我假设它与"这个"有关。在javascript / typescript中查找范围。我尝试通过执行以下操作来修改函数:

print

我尝试通过以下方式创建变量:

Create = ...(...)=> {
   ...

但这仍然不起作用

这真的是"这个"范围界定,因为似乎没有任何工作。 下面我标记了这个变量的确切位置以及它不起作用的地方。

private rect: = () => Rectangle

1 个答案:

答案 0 :(得分:3)

我猜你几乎就在那里。箭头函数=>语法是我们需要的,但即使在BABYLON.SceneLoader.ImportMesh调用上:

BABYLON.SceneLoader
    .ImportMesh(this.buildingId, "models/","tree.babylon", scene, 
        function (newMeshes) {
         ...
         // here we do not have this kept by TS for us
});

我们应该使用

BABYLON.SceneLoader
    .ImportMesh(this.buildingId, "models/","tree.babylon", scene, 
        (newMeshes) => {
         ...
         // here the magic would happen again
         // and compiler will keep this to be what we expect
});