Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
CSS JavaScript CoffeeScript Ruby
branch: master
Failed to load latest commit information.
docs Initial commit
examples
src Fleshed out the advanced binding example
.gitignore Added a component.json for bower
LICENSE.txt Fleshed out examples and added dependencies for examples.
README.md Added a note for the backbone newbies
Rakefile
component.json Added a component.json for bower
yabbe.js Fleshed out the advanced binding example

README.md

Yet Another Backbone Binding Extension (Yabbe)

So why add to the already growing number of libraries to do data binding?

  • Yabbe fits backbone nicely
  • Yabbe forgoes much of the magic of other libraries for just a little more typing
  • Yabbe fully supports computed properties
  • Yabbe will automatically unbind from your models when the corresponding root view element is removed the dom

I feel obligated to mention the following so I don't lead any newby backbone developers in the wrong direction:

Does Backbone really need data binding?

In the majority of circumstances, NO. This is the case since you can control the granularity of your views and just call render on any change event. There are cases where it'd be nice to have data binding, however. For that there is Yabbe.

This library is intended to provide a style of data binding that will be immediately familiar to users of Backbone. Yabbe will also not stand in your way if you don't want to use data binding for certain elements.

Something simple to whet your appetite

var ExampleView = Yabbe.View.extend({
    model: ex1model,
        el: $("#ex1"),
        // the bindings property is very similar to the events hash!
        bindings: {
            "val input": "title",
            "text div > a": "status",
        }
    });

Check out the full examples!

http://tantaman.github.com/yabbe/examples/YabbeViewExamples.html

Notes

Yabbe is still in early development and the API is subject to change.
Binding is currently uni-directional (from models to views). Bi-directional binding will be added in a future version.

Yabbe has only been tested with jQuery.

Test cases are still being written to flex and verify all of the different pieces of the code.

TODO

  • Bi-directional binding
  • Binding for collections
  • Clean up overloaded method handling code
  • Test with zepto and other backbone libs
Something went wrong with that request. Please try again.