handlebars.js テンプレートがとても気に入っていますが、データ バインディングを接続して、データが変更されたときにテンプレートを更新したいと考えています。私はすでにこのようなことをする方法を知っています:
var users = ['hello','world','third'];
var source = '<form>{{#each users}}<input type="text" value="{{this}}">{{/each}}</form>';
var template = Handlebars.compile(source);
$('.form-cont').html(template({users: users}));
後で別のユーザーを追加したい場合
users.push('last');
テンプレートを更新するために、HTML を更新します
$('.form-cont').html(template({users: users}));
上記のコードでは、元の html が消去され、新しいテンプレートに置き換えられています。変更されたものだけを更新する方法はありますか? 元の入力を消去することなく、each にアイテムを追加することを意味します。
Knockout.js、Angular.js、Ember.js のフレームワークにこれが組み込まれていることは知っています。フレームワーク全体ではなく、テンプレート バインディングのみを処理する、より軽量なソリューションを探しています。そこに何かありますか?