首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用backboneJS + backbone-relational + requireJS创建自相关嵌套模型

使用backboneJS + backbone-relational + requireJS创建自相关嵌套模型
EN

Stack Overflow用户
提问于 2013-07-04 16:27:52
回答 2查看 132关注 0票数 0

我知道有很多关于这个的问题,我已经通过这些答案解决了第一个问题。我决定不使用我的全局名称空间,而是使用这种类型的解决方案。但现在我有了一个与相同框架相关的不同问题。我的模型是这样开始的。

代码语言:javascript
复制
define([
'backbone',
'backbone.relational'
], function(Backbone){

var MenuNode = function () {
    Backbone.RelationalModel.apply(this,arguments);
}

var NodeCollection = function() {
    Backbone.Collection.apply(this,arguments);
}

MenuNode = Backbone.RelationalModel.extend({
    constructor: MenuNode,

    relations:[
        {
            type: Backbone.HasMany,
            key: "children",
            relatedModel: MenuNode,
            collectionType: NodeCollection,
            reverseRelation: {
                key: "parent"
            }
        }
    ]
})

NodeCollection = Backbone.Collection.extend({
    constructor: NodeCollection,
    model: MenuNode,
    url: function() {
        return "/nodes"
    }
})

这将为我的应用程序创建模型nessecary,这是一个jstree。但我的问题是如何创建与api的连接和我的关系,以及如何使用backbone获取节点的当前子节点。我有一个api:

代码语言:javascript
复制
 nodes/            returns the root nodes in a simplified version
 nodes/id          returns the full info about node, with children and parent simplified
 nodes/id/children returns the simplified version of the children of a specific node

但是如何通过backbone获取特定节点的当前子节点呢?当我想要加载子对象而不是预加载子对象时,我希望能够发出呼叫。我正在尝试为请求保存服务器。因为有一个很大的树视图,意味着加载整个树是不安全的。

只要提出任何问题就可以澄清更多的问题。Thx在前面

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-24 16:28:57

我发现我的api很奇怪。我有一个例子,我的jstree应该由Backbone支持,而不是由jstree ajax本身支持。因为我的观点依赖于主干,我希望他们能相互合作。

此修改已经完成,但它不在关系模型部分中。它在我的后端,在直接指向节点时为子节点服务,这有助于我正确地构建模型。

所以它可以工作,但是jstree不支持主干。

票数 0
EN

Stack Overflow用户

发布于 2013-07-05 03:54:01

您应该能够通过使用字符串文字作为相关模型来完成此操作:

代码语言:javascript
复制
relations:[
    {
        type: Backbone.HasMany,
        key: "children",
        relatedModel: 'MenuNode',
        collectionType: NodeCollection,
        reverseRelation: {
            key: "parent"
        }
    }
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17465434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档