繁体   English   中英

在Ember.js对象中访问父构造函数

[英]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

观察: http : //jsfiddle.net/99gvpqzx/1/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM