Lor*_*eck 0 casting module node.js typescript
如何使用导出的类转换变量的类型?比如这样:
GameManager.ts:
export class GameManager {}
Run Code Online (Sandbox Code Playgroud)
Player.ts:
private _manager: GameManager;
Run Code Online (Sandbox Code Playgroud)
当我使用a时/// <reference path="GameManager.ts" />,我得到一个错误,说GameManager超出范围或类似的东西.这是如何工作的?
这里有几种情况,具体取决于export class GameManager {}线的位置:
选项1:您正在使用"外部"模块(即您export在顶层有任何声明).
在这种情况下,您应该删除reference标记,而是写:
import Manager = module("GameManager"); // N.B. this is the filename, not the class name
...
private _manager: Manager.GameManager;
Run Code Online (Sandbox Code Playgroud)
选项2:您正在使用"内部"模块(即您export class在module块内,但不是export module块)
在这种情况下,你应该保留你的/// <reference...标签并写下:
private _manager: MyGame.Manager; // N.B. Assuming here that 'GameManager' lives inside 'module MyGame { ... }'
Run Code Online (Sandbox Code Playgroud)
可能你实际上并不想要export你班上的关键词 - 如果你这样做,你根本不需要对它进行限定(假设在顶层没有其他东西被导出).
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |