Go to file
Evan You b8781c54eb sd-model 2013-10-12 20:10:16 -04:00
dist implement sd-model 2013-10-12 14:23:48 -04:00
examples implement sd-model 2013-10-12 14:23:48 -04:00
src sd-model 2013-10-12 20:10:16 -04:00
test sd-model 2013-10-12 20:10:16 -04:00
.gitignore make all unit tests run in real browsers 2013-09-08 01:21:41 -04:00
.jshintrc naive implementation 2013-07-28 23:23:56 -04:00
.npmignore 0.3.2 - make it actually work for Browserify 2013-08-26 23:02:35 -04:00
Gruntfile.js move all API methods to Seed 2013-10-11 18:13:57 -04:00
LICENSE.md license 2013-08-09 10:26:12 -04:00
README.md readme 2013-10-08 01:30:29 -04:00
TODO.md sd-model 2013-10-12 20:10:16 -04:00
bower.json 0.3.2 - make it actually work for Browserify 2013-08-26 23:02:35 -04:00
component.json rename sd-each to sd-repeat 2013-10-11 17:27:36 -04:00
package.json update deps 2013-09-23 21:21:18 -07:00

README.md

Seed.js

Mini MVVM framework

[ WARNING pre-alpha status - tests not complete! ]

Features

  • <10kb gzipped, no dependency.
  • DOM based templates with two-way data binding.
  • Precise and efficient DOM manipulation with granularity down to a TextNode.
  • POJSO (Plain Old JavaScript Objects) Models that can be shared across ViewModels with arbitrary levels of nesting.
  • Auto dependency extraction for computed properties.
  • Auto event delegation on repeated items.
  • Flexible API that allows easy encapsulation of components.
  • Supports partials, transitions and nested ViewModels.
  • Plays well with module systems. Primarily Component based, but can also be used with Browserify, as a CommonJS/AMD module or as a standalone library.

Browser Support

  • Chrome 8+
  • Firefix 3.6+
  • Safari 5.1+
  • IE9+ (IE9 needs classList polyfill)
  • Opera 11.6+
  • Android browser 3.0+
  • iOS Safari 5.0+

Installation

Component

$ component install yyx990803/seed

Browserify

$ npm install seed-mvvm

Bower

$ bower install seed

Module Loaders, e.g. RequireJS, SeaJS

Built versions in /dist or installed via Bower can be used directly as a CommonJS or AMD module.

Standalone

Simply include a built version in /dist or installed via Bower with a script tag. seed will be registered as a global variable. You can also use it directly over Browserify CDN at http://wzrd.in/standalone/seed-mvvm

Development

First, install dependencies:

$ npm install

To watch and auto-build dev version during development:

$ grunt watch

To test:

$ grunt test

To build:

$ grunt

Quickstart

Simplest possible example:

HTML

<div id="demo">
    <p sd-text="hello"></p>
</div>

JavaScript

new seed.ViewModel({
    el: '#demo',
    data: {
        hello: 'Hello World!'
    }
})

License

MIT