我正在为每个组件创建一个使用不同视图的可视化构建器。所有视图都声明如下:
$(function() {
var parallaxView = new Backbone.view.extend({
....
});
var parallaxView = new Backbone.view.extend({
....
});
});
有一次,我开始从该视图创建一个新的对象视图。但我所知道的是字符串代表对象中视图存储的名称
name
我的问题是我们可以用某种方式创建一个对象,例如使用该对象值作为类名的新类。
var myView = new name(param1, param2);
而不是使用
switch (name) {
case 1:
....
}
我试过这个案例
var myView = new name(param1, param2);
我知道它不会炒锅。但有没有办法可以像这样创建一个对象?
答案 0 :(得分:2)
如果我以正确的方式理解您的问题,您可以将视图构造函数存储在对象中,如下所示:
$(function() {
window.views = {
'parallax': Backbone.View.extend({ /*...*/ }),
'test': Backbone.View.extend({ /*...*/ })
};
});
然后你可以这样创建实例:
// var name = 'parallax';
var myView = new window.views[name](param1, param2);
如果您的问题不符合我的理解,请告诉我。