带有stickit.js的backbone.js嵌套对象属性

Posted

技术标签:

【中文标题】带有stickit.js的backbone.js嵌套对象属性【英文标题】:backbone.js nested object attribute with stickit.js 【发布时间】:2013-12-05 12:01:27 【问题描述】:

我正在使用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'

【问题讨论】:

【参考方案1】:

听起来您可以使用名为 computeds 的功能。

Computed 是动态计算的绑定字段,可能是其他模型字段的复合。

不过,我在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>

【讨论】:

以上是关于带有stickit.js的backbone.js嵌套对象属性的主要内容,如果未能解决你的问题,请参考以下文章

带有 Rest API 的 Backbone.js

为 Backbone.Stickit.js 绑定设置全局 setOptions

渲染 Backbone.js 集合

Backbone.js 状态管理/基于 url 片段的视图初始化

弹出窗口 - jQuery Mobile、Backbone.js 和 Require.js

Backbone.js:在视图之间导航 - 销毁和重新创建