javascript - 使用 Rivets.js 和 Backbone 深度模型绑定(bind)和访问嵌套元素

标签 javascript backbone.js underscore.js backbone-events rivets.js

我们正在使用开源 FormBuilder 客户端组件并对其进行扩展以满足我们的要求。 Formbuilder 是使用带有嵌套数据的 Backbone Deep 模型 编写的,并且使用 Rivets.js 进行绑定(bind)。

这里的 Formbuilder 位于 GitHub 上:https://github.com/dobtco/formbuilder这里是 GitHub 上的主干深度模型:https://github.com/powmedia/backbone-deep-model

现在我们在 View 中使用嵌套元素,这些元素嵌套在结构中,如以下 JSON 所示:

{
    "fields": [{
        "label": "Untitled",
        "field_type": "checkboxes",
        "required": true,
        "field_options": {
            "options": [{
                "label": "test",
                "checked": false
            }, {
                "label": "",
                "checked": false
            }]
        },
        "rules_data": {
            "rules": [{
                "ruleId": "rule6",
                "criterias": [{
                    "condition": "if",
                    "responseTo": "",
                    "userOption": ""
                }],
                "branchTo": [{
                    "branch": "test"
                }, {
                    "branch": ""
                }, {
                    "branch": ""
                }]
            }]
        },
        "cid": "c2"
    }]
}

这里有一个规则数组,然后规则在每个索引处都有更多数据,其中一个是branchTo,现在branchTo也是一个索引数组。在 Rivets.js 中,我们可以使用 Rivets.js .: 运算符绑定(bind)某些内容。对于属性,我们可以使用 : 但我们无法访问嵌套索引数组内的元素。

那么在使用 nexted 索引元素时是否可以访问和绑定(bind) Rivets 中的元素?如果是的话,我们该怎么做呢?或者有更好、更简单的方法来实现相同的目标吗?我是 Backbone 和 Rivets 的初学者,我不确定这是否是正确的方法。

最佳答案

如果我正确理解 rivetsjs,: 只是适配器的一个示例,如果您愿意,您可以将 ^ 作为适配器分隔符。这意味着您还可以同时拥有 和 Nest 适配器。让 : 搜索第一层,然后使用 ^ 更深一层搜索。

您还可以构建一个更具适应性的适配器,可以使对象更深。以下 stackoverflow 答案中的示例。您还可以在此处查看一些获得更深嵌套对象的其他方法:

How to bind deeper than one level with rivets.js

希望这能解决您的问题

关于javascript - 使用 Rivets.js 和 Backbone 深度模型绑定(bind)和访问嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22712141/

相关文章:

javascript - 使用 SQL 数据创建多维数组

javascript - 下划线模板未获取值?

javascript - Backbone.js 手动点击复选框触发,但 'code clicked' 一个没有

javascript - 集合在模板中不起作用

javascript - 如何专注于可滚动 div 的一部分

javascript - Spectron/WebdriverIO 第 n 个子节点使用 $$[n] 而不是选择器

javascript - 与 Backbone.js Paginator 混淆

javascript - 使用下划线搜索数组中的 JSON 值

javascript - curl机制,在expressjs代码里面