Class 不同模块上主干中的静态方法继承

Class 不同模块上主干中的静态方法继承,class,inheritance,backbone.js,coffeescript,static-methods,Class,Inheritance,Backbone.js,Coffeescript,Static Methods,我正在使用backbone.js作为web应用程序 我有不同的组件视图,它们是从几个基类派生的。 每个视图都有一些用于初始化和创建实例的静态方法 例如: class Base extends Backbone.View @create:(config)-> *do some processing based on config* *generate view parameters* viewparams = .... return new

我正在使用backbone.js作为web应用程序

我有不同的组件视图,它们是从几个基类派生的。 每个视图都有一些用于初始化和创建实例的静态方法

例如:

class Base extends Backbone.View
  @create:(config)->
      *do some processing based on config*
      *generate view parameters*
      viewparams = ....
      return new @(viewparams)
class Derived extends Base
  **some customizations and functions**

**at some point some where**
instanceDerived = Derived.create(*some params*)
这种方法的优点是,可以很自然地重用create方法。“@”或“this”表示派生类(构造函数),因此可以轻松创建对象

当两个类在同一个模块中时,代码运行良好。但是,当对象位于不同的模块中时,create函数中的“@”或“this”指的是“Base.create”,而不是派生类构造函数


我不知道我是否在做一些非传统的编码。有人能告诉我如何解决/构造这个问题吗?

@在create中指的是派生类(请参阅:)。你能在JSFIDLE上设置一个引用Base的例子吗?你在另一个“模块”中是什么意思?什么类型的模块?该模块是require.js加载的另一个JavaScript文件