2013-03-22 14 views
10

Kann ein Ember-Objekt mehrere Mixins verwenden? Ich denke, mixin entspricht in Java Schnittstelle und in diesem Fall sollte vorgesehen werden hier viele mixin zu implementieren -Ember Mixin als Schnittstellen

App.Movie = Ember.Object.extend(App.FirstMixin, { .. }); 

Wenn es eine SecondMixin ist auch, wie kann das Objekt, das verwenden?

Antwort

21

Ja, sicher kann es. Werfen Sie einen Blick auf the code of the prominent ArrayController Class zum Beispiel:

Ember.ArrayController = Ember.ArrayProxy.extend(Ember.ControllerMixin, 
    Ember.SortableMixin, { 
    .... 
}); 

Und tatsächlich Mixins kann als ein Äquivalent zu Java-Schnittstellen verwendet werden, sondern ein mixin ist mit einer Schnittstellendefinition nicht darauf beschränkt. Mixins sind ein Mittel der Mehrfachvererbung, und kann auch Eigenschaften und Methodenimplementierungen für die Klassen bereitstellen, die sie verwenden. Daher ist die Vorstellung einer Schnittstelle für das Mixinkonzept begrenzt.