This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

Evan You cfb1e664ac resolve rebase conflicts for updatePrefix() 12 lat temu
dist f4d42cc62b add code coverage for unit tests 12 lat temu
examples e60986d888 update todomvc common assets 12 lat temu
src cfb1e664ac resolve rebase conflicts for updatePrefix() 12 lat temu
test cfb1e664ac resolve rebase conflicts for updatePrefix() 12 lat temu
.gitignore f4d42cc62b add code coverage for unit tests 12 lat temu
.jshintrc a5e27b1174 naive implementation 13 lat temu
.npmignore c6ab23049f 0.4.1 12 lat temu
Gruntfile.js 5ffa301467 add teardown option; tests for $destroy() 12 lat temu
LICENSE 91cf2fe038 remove todo 12 lat temu
README.md 23c98cb505 meta 12 lat temu
bower.json c6ab23049f 0.4.1 12 lat temu
component.json 36da0a783c transition working with sd-if + sd-repeat (TODO: $destroy) 12 lat temu
package.json 0e5a8abc12 use jshint-stylish 12 lat temu

README.md

Seed.js

Modern, lightweight JavaScript MVVM

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

  • Most Webkit/Blink-based browsers
  • Firefox 4+
  • IE9+ (IE9 needs classList polyfill and doesn't support transitions)

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

Make sure you have grunt-cli installed globally. Then clone the repo and install dependencies:

$ npm install

To watch and auto-build dev version during development:

$ grunt watch

To test (install CasperJS first):

$ grunt test

To build:

$ grunt

Quickstart

HTML

<div id="demo" sd-on="click:changeText">
    <p sd-text="hello"></p>
</div>

JavaScript

new Seed({
    el: '#demo',
    scope: {
        hello: 'Hello World!',
        changeText: function () {
            this.hello = 'Hello Seed!'
        }
    }
})

Documentation

Coming soon...

License

MIT