【问题标题】:Access children of an object in TypeScript在 TypeScript 中访问对象的子对象
【发布时间】:2015-12-01 23:20:43
【问题描述】:

我正在尝试访问 TypeScript 中对象的子级。

所以 object1 是 Object 的子对象。当我控制台日志对象(父)时,我清楚地看到属性“儿童”。如果我展开 Children,我会看到 Object1。

通常在 JavaScript 中,我会做类似的事情

var child = Object.children[0];

但是,当我在 TypeScript 中执行此操作时,会出现语法错误提示

错误 TS2339:“DisplayObject”类型上不存在属性“children”。

在 TS 中有不同的方法吗?

编辑

示例代码:

  this.game.world.children.forEach(function(child){
        var constructorString: string = child.constructor.toString();
        var className: string = constructorString.match(/\w+/g)[1];
        if(className=='AcheivmentButton'){
          for(var i=0; i<child.children.length; i++)
            children.push(child.children[i]);
        }
      })

【问题讨论】:

  • 将其转换为您期望的类型?它不完全清楚你要做什么。也许提供一个更广泛的例子?
  • 你用的是什么库?您的问题似乎主要是您正在使用的 javascript 库没有类型(.d.ts 文件)。您可以在 typescript 手册 typescriptlang.org/… 中阅读更多关于它是如何工作的信息

标签: javascript typescript parent children


【解决方案1】:

在 TS 中有不同的方法吗?

没有。这只是您正在使用的对象的定义中的差异。

最快的方法是简单地使用断言:

var child = (Object as any).children[0];

更多

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多