NervJS
- A tiny, pure, event-based model wrapper for the MVC or MDV (Model-driven Views) pattern.
- It is far thinner than Backbone. None of View, Controller or Router is involved.
- Strict data hiding but straightforward way to use.
- Provides minimal built-in APIs but supports all external and conventional methods to access the model.
- Model can be nested and supports bubbling events.
In NodeJS
npm install nerv
In browser
AMD and OzJS
- NervJS can either be viewed as an independent library, or as a part of OzJS mirco-framework.
- It's wrapped as an AMD (Asynchronous Module Definition) module. You should use it with oz.js (or require.js or similar for handling dependencies).
- If you want to make it available for both other AMD code and traditional code based on global namespace. OzJS provides a mini define/require implementation to transform AMD module into traditional module pattern.
- See http://ozjs.org for details.
Get the code
Add to your project as new dependency
Or download directly from Github
Dependencies
Examples
API and usage
var nerv = ;
nerv.Model
var papercover = ;var hardcover = ;var pageModel = nerv;var page = ;var page2 = ;
page.each(function(member){}, context)
--page.get(key)
--page.data()
--page.data(key)
--page.set(key, function(value){ }, context)
--page.set(key, function(model){ }, context)
--page.set(key, value, context)
--page.set(key, model, context)
--page.set(function(agent){ }, context)
--page.set(model, context)
--page.remove(key)
--page.reset()
--page.find(value)
--page.find(model)
--page.setter(key, function(){})
--page.observer
--- API:
- Same as EventMaster
- Event:
{key}:new
--{key}:update
--{key}:delete
--change
--
- API:
nerv.Collection
var book = ;var bookB = nerv;
book.add(value)
--book.add(model)
--book.size()
--- Same as
nerv.Model
More References
Release History
License
Copyright (c) 2010 - 2013 dexteryy
Licensed under the MIT license.