kospa
is a lightweight and modular framework built on top of Knockout.JS to build powerful Single Page Applications.
@kospa/base
: Base components (composition, activation, module loading)@kospa/router
: Router component@kospa/dialog
: Dialog component@kospa/engine
: Knockout module-based Template Engine@kospa/bootstrap
: Application startup component
- Composition: a process that loads a ViewModel and a View using a module loader and bind them in the DOM.
- Activation: a process that loads, activate and deactivate a ViewModel module.
ViewModels in kospa follows the following lifecycle:
activate
: Load data and initialize the ViewModel before binding it to the DOM.bindingComplete
: Run after the ViewModel is bound to the DOM.descendantsComplete
: Run after all asynchronous binding are applied to the DOM.compositionComplete
: Run when the composition process is complete.deactivate
: Run when the ViewModel is unbound from the DOM.dispose
: Run before the DOM node is removed.
This project is under MIT License. See the LICENSE file for the full license text.