vojvoda
Backbone View extension for managing subviews.
Install
$ npm install --save vojvoda
Usage
Browser
Browserify
var _ = ;var $ = ;var Backbone = ;Backbone$ = $;var Vojvoda = _ Backbone; var SomeView = Vojvoda;
API
Vojvoda creates subViews
namespace inside of Backbone View.
Then by using only 3 methods, you can manipulate subviews without chance for creating memory leaks, ghost views, etc.
addSubView(name, class, options)
This method will create instance of class and add it to namespace.
name
(string) - key of sub view used for adding to namespaceclass
(object) - vojvoda or backbone viewoptions
any type - this will be passed to class for instantiation
Example:
var HomePageView = Vojvoda;
destroySubView(name, options)
This method will destroy subview and all nested subviews recursivly.
name
(string) - key of sub view to destroyoptions
(object) - options (defaults:{ remove: true, beforeEachDestroy: _.noop }
)
Example:
var HomePageView = Vojvoda;
destroyAllSubViews(options, context)
This method will destroy all subviews recursivly.
options
(object) - options (defaults:{ remove: true, beforeEachDestroy: _.noop }
)context
(object) - context used internally for recursion
Example:
var HomePageView = Vojvoda;
Options for destroySubView and destroyAllSubViews
remove: true
- if you pass false, vojvoda will not execute remove methodbeforeEachDestroy: _.noop
- function will be executed before each destroySubView where argument is subview
License
MIT © Aleksandar Gosevski