Backbone.js : 使用动态名称初始化模型
Backbone.js : initialize Model with dynamic name
在 backbone.js 中,我可以使用
初始化模型
var model = new MyModel();
但我想用动态名称初始化模型 - 例如 "MyDynamicModel"。我怎样才能做到这一点?
您可以使用包装器对象来获得类似的结果。
var wrapper = {
"myDynamicName": new MyModel(),
"myOtherModel": new MyModel()
}
那么你可以这样称呼它:
wrapper["myDynamicName"].render();
如果您的模型是全局声明的(在 window
对象上),那么您可以使用方括号表示法:
var Model = window[modelName]; // Assuming modelName is the dynamic name of your model
var model = new Model();
或者,如果您的模型被命名为 App.Models
:
var Model = App.Models[modelName];
var model = new Model();
作为最后的手段,您可以使用 Javascript 的 eval
函数,但通常应避免这种情况。
var Model = eval(modelName);
var model = new Model();
在 backbone.js 中,我可以使用
初始化模型var model = new MyModel();
但我想用动态名称初始化模型 - 例如 "MyDynamicModel"。我怎样才能做到这一点?
您可以使用包装器对象来获得类似的结果。
var wrapper = {
"myDynamicName": new MyModel(),
"myOtherModel": new MyModel()
}
那么你可以这样称呼它:
wrapper["myDynamicName"].render();
如果您的模型是全局声明的(在 window
对象上),那么您可以使用方括号表示法:
var Model = window[modelName]; // Assuming modelName is the dynamic name of your model
var model = new Model();
或者,如果您的模型被命名为 App.Models
:
var Model = App.Models[modelName];
var model = new Model();
作为最后的手段,您可以使用 Javascript 的 eval
函数,但通常应避免这种情况。
var Model = eval(modelName);
var model = new Model();