首页 > 解决方案 > 使用 StickIt 绑定到 Backbone Marionette 的 UI 哈希

问题描述

我正在构建一个 Backbone.js (v1.3.3) 应用程序,其中 Marionette.js (v3.5.1) 用于视图渲染,backbone.stickit 用于双向数据绑定。

有没有办法ui使用stickit绑定到Marionette的哈希而不是显式绑定到模板中元素的类或id?我想,我有ui哈希,为什么不只是绑定到它而不是以不同的方式定位相同的元素(参见bindings代码片段中的对象)。

// view (view.js)
module.exports = Marionette.View.extend({

    template: require('../templates/sample.jst'),

    // want to bind to this hash
    ui: {
        input: '#js-some-input'
    },

    bindings: {
        // this works
        '#js-some-input'     : 'someModelAttribute'

        // these don't
        ':view.ui.input'     : 'someModelAttribute'
        '@ui.input'          : 'someModelAttribute'
        'this.getUI("input")': 'someModelAttribute'
        // etc . . .
    },

    onRender() {
        this.stickit();
    },

    onDestroy() {
        this.unstickit();
    }

});

// template (sample.jst)
<form name="someFormName">

    <input name="someInputName"
           type="text"
           id="js-some-input" />

</form>

资料来源:

标签: backbone.jsmarionettemodel-bindingbackbone-stickit

解决方案


推荐阅读