【问题标题】:ts Property 'x' does not exist on type 'Reel'ts 属性“x”在“卷轴”类型上不存在
【发布时间】:2018-04-03 10:36:46
【问题描述】:

我正在从 PIXI.js 扩展 Container:

export class Reel extends Container {
    constructor(width: number, height: number) {
        super();

        var sprite: Sprite = Sprite.fromImage("assets/images/elephant.png");
        super.addChild(sprite);
    }
}

但是当我实例化一个新类并尝试访问 Container 属性时,我收到了 tslint 错误:[ts] Property 'x' does not exist on type 'Reel'

var reel1: Reel = new Reel(100, 300);
reel1.x = 200;

【问题讨论】:

  • 你没有错过命名空间PIXI.Container吗?
  • 我试过: import * as PIXI from "pixi.js";导出类 Reel 扩展 PIXI.Container {}
  • 您使用的是哪个版本的打字稿?
  • 我不认为它与实现有关,这个简单的例子有效:jsbin.com/muvepixize/edit?js,console
  • "打字稿": "^2.5.3"

标签: typescript pixi.js tslint


【解决方案1】:

您的导入错误。您需要从https://github.com/pixijs/pixi-typescript 导入Typescript Definitions for Pixi.js。基本上,你只需要做一个

`npm install @types/pixi.js --save-dev` 

来自您正在工作的目录。如果您没有node_modules 文件夹,那么将为您创建一个。之后你就做

`import Container = PIXI.Container;` 

一切就绪。

【讨论】:

  • 由于 Typescript linter 出现错误,您可以在 jsbinjsfiddle 中尝试该代码 :) 更短更快
  • 此时速度并不快。我已经在这里写了。这是打字稿。 Angular 没有使属性可见。
  • @TomSarduy - 这是正确的答案。如果您是投票删除我的答案的人,那么这个答案可能对您更有效。在 Web 服务上解决这个问题并不容易,而且我也不会使用这些服务。这不应该是在这里受到惩罚的理由。
猜你喜欢
  • 2022-09-23
  • 1970-01-01
  • 2022-11-08
  • 2021-01-11
  • 2021-01-10
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 2021-02-08
相关资源
最近更新 更多