在typescript中的其他类的函数中创建类实例

mat*_*esx 3 class function instance typescript

我想调试我的项目,我发现创建类的实例有一个小问题.我试着用简单的例子来描述它.

//this is saved in file Engine.ts
module Car {
    export class Engine {
        name: string;

        constructor(name: string) {
            this.name = name;
         }

         getName(): string{
            return this.name;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个类用他的名字描述了简单的引擎.现在我想在某些车辆中创建引擎:

///<reference path="Engine.ts"/>
//this is saved in file app.ts
module Car {
    export class Vehicle {
        name: string;
        constructor(name: string) {
            this.name = name;
        }
        buildCar() : string {
            var engine = new Engine("Volkswagen 1.9TDI");
            return "Name of the vehicle is " + this.name + " and has engine " + engine.getName();
        }
    }
}

window.onload = () => {
    var car = new Car.Vehicle("Skoda Rapid");
    alert(car.buildCar);
}
Run Code Online (Sandbox Code Playgroud)

问题是创建类Engine的实例.浏览器控制台返回Car.Engine不是构造函数的错误.我该如何解决这个问题?我有更困难的项目,这只描述问题的主要原则.在我的项目中,我必须在其他类的函数中创建一些类的实例.

Rya*_*ugh 7

听起来你已编译成engine.js和app.js,但实际上并没有通过script像app.js 那样的标签加载engine.js .