/iglue

Intuitive data-binding engine

Primary LanguageTypeScriptMIT LicenseMIT

iglue

npm version Dependencies Status

A simple and unobtrusive UI microframework.

Motivation

I've worked with Rivets.js for some time, then I fell in love with Vue.js, but sometimes I just wanted something in between, something cool and well written like Vue, but simple and unobtrusive like Rivets...

So I came out to write iglue.

Browser support

iglue supports all browsers that are ES5-compliant, so IE8 and below are not supported.

Usage

<div id="articles" i-each:article="articles" i-if="article.visible">
  <h1>{ article.title }</h1>
  <p i-class:old="article.old">{ article.content }</p>
</div>
iglue.bind(document.getElementById("articles"), {
  articles: [
    {
      title: "Hello world",
      visible: true,
      old: true,
      content: "The cake is a lie"
    },
    {
      title: "Glados is watching",
      visible: false,
      old: false,
      content:
        "Hello and, again, welcome to the Aperture Science computer-aided enrichment center."
    }
  ]
});