-1

define(['jquery','frameworkviews/BackbonePrototype','applicationPath/Module1/js/views/AppView1','applicationPath/Module2/js/views/AppView2'],   
function($,BackbonePrototype,AppView1,AppView2){
  function getViews(modules,type){
    var views= new Array();
    for ( var i = 0; i < modules.length; ++i) {
      var cmd = 'views[' + i + '] = new ' + modules[i]+'View.'+modules[i]+type + "View" + '() ;';
      eval(cmd);
      views[i].name = modules[i];
    }
    return views;
  }
});


我们正在开发一个带有骨干网和 RequireJS 的项目。我们的项目基于框架和模块架构。模块贡献主干视图(AppView1/AppView2 等),并由框架使用 RequireJS 动态加载,如上所示。我们面临的问题是,如果添加了新模块(例如 Module3),则需要再次使用上述框架代码修改为将 Module3 视图添加到定义块。有什么方法可以避免框架中的此类更改以及如何获取对新添加的模块视图的引用?

4

1 回答 1

0

不要使用评估。那是邪恶的(没有双关语的意思)。
我假设这不是您的真实代码,因为您在这里没有返回任何内容。

关于你的问题,我想你会在这里找到你需要的一切:Variable function names in Require & Backbone

任何一种解决方案都适合您。

于 2013-04-18T09:40:01.790 回答