我正在用打字稿为我的框架实现DI容器,并想知道我的类构造函数的参数和实例化属性。这是一个例子:

interface IDriver
{
    Drive(): void
}

class DriverA implements IDriver
{
    public Tickets: Array<Ticket>;
    public Name: String;

    public Drive() {
        //Driving...
    }
}


我将接口名称IDriver传递为字符串(因为无法将接口作为参数传递)和具体的类DriverA传递给注册例程。在解析状态下,要实例化DriverA,我得到了构造函数和Drive方法,但找不到诸如Tickets和Name之类的属性。如何访问这些属性?可能吗?

最佳答案

属性只有在初始化时才可用,例如:

class DriverA
{
    public Tickets = [];
    public Name = "";

    public Drive() {
        //Driving...
    }
}


将产生:

var DriverA = (function () {
    function DriverA() {
        this.Tickets = [];
        this.Name = "";
    }
    DriverA.prototype.Drive = function () {
        //Driving...
    };
    return DriverA;
})();


注意this.Tickets。 PS:仅在调用构造函数后才添加它们。即new DriverA()

关于javascript - 如何在运行时访问Typescript类的公共(public)属性(调试)?仅构造函数和函数可访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20533624/

10-16 14:47