Атрибут вложенного объекта backbone.js с помощью stickit.js

Я использую stickit.js для достижения двухстороннего связывания данных. Я хотел бы знать, как связать стикит с атрибутом вложенного объекта. Например,

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

Интересно, можно связать текстовый ввод что-то вроде этого.

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


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

1 ответ

Решение

Похоже, вы могли бы использовать функцию под названием computeds.

Вычисленные являются обязательными полями, которые рассчитываются на лету и могут быть составными частями других модельных полей.

Я не вижу такого рода функции в документах Stickit, хотя. Таким образом, вы могли бы попробовать действительно превосходную библиотеку связывания моделей эпоксидной смолой. Я сделал 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>
Другие вопросы по тегам