Skip to content
vog edited this page Jan 24, 2013 · 4 revisions

Synopsis:

@mixins ClassName

Defines classes that are mixed into the documented class.

Example:

/**
 * @class Ext.Component
 * Base class for all Ext components.
 * @mixins Ext.util.Observable
 * @mixins Ext.util.Renderable
 */

Auto-detection

This tag is auto-detected when class comment is right above Ext.define which contains mixins:. The following code is equivalent of the above one:

/**
 * Base class for all Ext components.
 */
Ext.define("Ext.Component", {
    mixins: [
        "Ext.util.Observable",
        "Ext.util.Renderable"
    ]
});

Defining mixins with object literal is also supported (keys are ignored):

/**
 * Base class for all Ext components.
 */
Ext.define("Ext.Component", {
    mixins: {
        observable: "Ext.util.Observable",
        renderable: "Ext.util.Renderable"
    }
});

Otherwise the auto-detection behaves just like with @alternateClassName tag.