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

Evan You 016842cf48 functional test for nested sd-repeat 12 lat temu
dist 0d728a26bc 0.5.2 patch: fix computed property $set / utils.bind() 12 lat temu
examples 27309404ac revert back to use comma as exp splitter - wrap exp with () to escape 12 lat temu
src 92dd92a0d7 fix exp-parser so it correctly access variables that start with $ in expressions 12 lat temu
test 016842cf48 functional test for nested sd-repeat 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
.travis.yml a2cc4089d2 travis only build master 12 lat temu
Gruntfile.js 5a3ec47015 use semver module for version validation 12 lat temu
LICENSE 91cf2fe038 remove todo 12 lat temu
README.md 622570fefb npm 0.5.2 [ci skip] 12 lat temu
bower.json ce7b888fc9 0.5.2 12 lat temu
component.json ce7b888fc9 0.5.2 12 lat temu
package.json 622570fefb npm 0.5.2 [ci skip] 12 lat temu

README.md

Seed.js

Modular & Lightweight JavaScript MVVM

Build Status

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.
  • Extendable with custom directives and filters.
  • 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 view models.
  • 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.

Development

# in case you don't already have them:
# npm install -g grunt-cli component
$ npm install
$ component install

To build:

$ grunt componentbuild

To watch and auto-build dev version during development:

$ grunt watch

To test (install CasperJS first):

$ grunt test

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