#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# base Module

User Guide & Examples
Defined in: `base/js/BaseObservable.js:19`

The base module provides the Base class, which objects requiring attribute and custom event support can extend. The module also provides two ways to reuse code - It augments Base with the Plugin.Host interface which provides plugin support and also provides the BaseCore.build method which provides a way to build custom classes using extensions.

This module provides the following classes:

- Base
- BaseCore
- BaseObservable

This module is a rollup of the following modules:

- base-base
  The base-base submodule provides the Base class without the Plugin support, provided by Plugin.Host, and without the extension support provided by BaseCore.build.
- base-build
  The base-build submodule provides Base.build functionality, which can be used to create custom classes, by aggregating extensions onto a main class.
- base-core

  The base-core module provides the BaseCore class, the lightest version of Base, which provides Base's basic lifecycle management and ATTRS construction support, but doesn't fire init/destroy or attribute change events.

  It mixes in AttributeCore, which is the lightest version of Attribute

- base-observable
  The `base-observable` submodule adds observability to Base's lifecycle and attributes, and also make it an `EventTarget`.
- base-pluginhost
  The base-pluginhost submodule adds Plugin support to Base, by augmenting Base with Plugin.Host and setting up static (class level) Base.plug and Base.unplug methods.