0

具有三个 mixin 的类的示例:

Object = Ember.Object.extend( mixin1, mixin2, mixin3 {
                 init: function(){
                     this._super();
                     var myMixins = this.gatherMixins();
                 },

                 gatherMixins: function(){
                     // what goes in here?
                 }

 });
4

1 回答 1

1

你可以这样做:

gatherMixins: function() {
  Ember.Mixin.mixins(this).forEach(function (mixin) {
    Ember.Logger.log(mixin);
  });
}

小提琴

以下代码和平列出了您的 mixin 的所有属性

var mixinKeys = Ember.A();
Ember.Mixin.mixins(this).forEach(function (mixin) {
  Ember.Logger.log('mixin: ' + mixin.toString());     
  mixin.keys().forEach(function (key) {
    if (!mixinKeys.contains(key)) {
      mixinKeys.pushObject(key);
    }
  });
});
mixinKeys.forEach(function(key) {
  Ember.Logger.log(key);            
});
于 2012-10-29T16:00:46.247 回答