[英]Access parent constructor in Ember.js object
在Ember.js中,如何访问父对象的构造函数? 我确实在四处寻找时发现了这一点:
this.__ember_meta__.proto.__proto__.__proto__.constructor
产生正确的值,但是由于显而易见的原因,这是不可接受的。
查看extend()
方法中的代码,似乎是将父类分配给一个名为superclass
的属性,但是由于某种原因我在我的类中没有看到它。
查看extend
方法的定义 ,您会看到它正在建立并返回一个名为Class
的变量。 您应该将方法描述为在该Class
的实例上运行(这意味着this.prototype === Class.prototype
)。
考虑到这一点,您可以看到该Class
本身已分配给Class.prototype.constructor
:
proto = Class.prototype = o_create(this.prototype);
proto.constructor = Class;
因此,您可以使用this.constructor
来访问该Class
,此外,(如您所述)父类的构造函数被分配给Class
的.superclass
属性:
Class.superclass = this;
因此,我相信您寻求的答案很简单:
this.constructor.superclass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.