我正在使用 Backbone/RequireJs javascript 堆栈。我想要实现的是在设置依赖项之后动态地要求Model
a的依赖项。Backbone.Collection
Collection
我想尽可能地保持Collection
通用性,并且我想Models
根据当前的主要上下文分配不同的和休息的 url。目标是,在特定的上下文中只加载需要的内容。
window.Collection = Backbone.Collection.extend({
initialize: function(modelName,apiRoute){
this.modelName = modelName;
this.apiRoute = apiRoute;
if (typeof(window[this.modelName]) === "function") {
this.model = window[this.modelName];
this.url = "./api/" + this.apiRoute;
}
}
...
这里的问题是window[this.modelName]
主上下文中的依赖项必须在Collection
依赖项之前加载。
假设对象MainContext
需要一个集合:
// MainContext.js
define([
...
"model/Collection"
在里面MainContext
我解析了modelName
集合所需依赖项的名称值所需的变量(例如' Toys
')。如果 irequire(['model/Toys'])
在 MainContext 中,则该依赖文件将加载得太晚。
在这种情况下会采取什么方法?欣赏。