-1

我想创建这样的对象

var classes = {
   A: <object here>,
   B: <object here>,
   ...
};

new classes[name]()

但是我无法让它在我的主干应用程序中工作。

define([
  // Application.
  "app"
],

function(app) {

  var Partials = app.module();

  var classes = {
    'AccountNavStart' : Partials.Views.AccountNavStart = Backbone.View.extend({
       template: 'member/account-nav',
       serialize: function(){
         return { model: this.model };
       }
     })
  };

  // Required, return the module for AMD compliance.
  return Partials;
});

我试着像这样使用它

new Partials.classes['AccountNavStart']()

但我得到一个错误

Uncaught TypeError: Cannot read property 'AccountNavStart' of undefined 

任何想法如何解决这个问题?

4

1 回答 1

1

在返回之前保存classes到:Partials

function(app) {
  //...
  Partials.classes = classes;
  return Partials;
});
于 2013-07-02T07:57:11.857 回答