2

stickit.js を使用して、双方向のデータ バインディングを実現しています。stickit をネストされたオブジェクト属性にバインドする方法を教えてください。エグの場合

var Person = Backbone.Model.extend({
    defaults:{
        name: {
            first: 'James',
            last: 'White'
        }
    }
});

このようなテキスト入力をバインドすることは可能でしょうか。

<input type="text" name="firstname" class="first-name"/>


bindings: {
    '.first-name': 'name.first'
}
4

1 に答える 1

2

computesと呼ばれる機能を使用できるように聞こえます。

計算済みは、オンザフライで計算されるバインド フィールドであり、他のモデル フィールドの複合である場合があります。

ただし、この種の機能は stickit ドキュメントにはありません。したがって、非常に優れたモデル バインディング ライブラリbackbone-epoxyを試すことができます。私はあなたのためにjsfiddleを作りました。

var Person = Backbone.Epoxy.Model.extend({
    defaults:{
        name: {
            first: 'James',
            last: 'White'
        }
    },
    computeds: {
        fullname: function() {
            return this.get('name').first + ' ' + this.get('name').last;
        }
    }
});

var view = new Backbone.Epoxy.View({
    el: '#app',
    model: new Person()
});

そしてhtml:

<div id="app">
    <input type="text" data-bind="value:fullname" />
</div>
于 2013-12-05T18:28:34.783 に答える