我知道有很多关于这个的问题,我已经通过这些答案解决了第一个问题。我决定不污染我的全局命名空间并使用这种类型的解决方案。但是现在我有一个与相同框架相关的不同问题。我的模型是这样开始的。
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"
}
})
这将为我的应用程序创建必需的模型,这是一个 jstree。但我的问题是如何创建与 api 和我的关系的连接,以及如何使用主干获取节点的当前子节点。我有api:
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
但是如何通过主干获取特定节点的当前子节点?当我想加载孩子而不是预加载孩子时,我希望能够拨打电话。我试图为请求保存服务器。因为有一个大的树视图,意味着它不需要加载整个树。
只需提出任何问题以澄清更多信息。提前谢谢