Class 使用@constructor和@static记录余烬应用程序
像YUIDocs这样的文档工具允许您使用注释块中的Class 使用@constructor和@static记录余烬应用程序,class,ember.js,documentation,ember-data,yuidoc,Class,Ember.js,Documentation,Ember Data,Yuidoc,像YUIDocs这样的文档工具允许您使用注释块中的@class标记来识别和描述类(对象类)。每个识别的类都需要一个@static或@constructor标记,定义如下: @constructor-表示类是可实例化的(已创建) 使用新关键字) @static-表示不应使用 新的。您可以静态调用类的所有方法 在Ember中,您经常使用extend()创建子类。据我所知,这不会创建类的新实例。但是,尽管您使用extend()来定义这些定义,但其中许多定义(例如路线的控制器)都是单例的 因此,我的
@class
标记来识别和描述类(对象类)。每个识别的类都需要一个@static
或@constructor
标记,定义如下:
-表示类是可实例化的(已创建) 使用新关键字)@constructor
-表示不应使用 新的。您可以静态调用类的所有方法@static
extend()
创建子类。据我所知,这不会创建类的新实例。但是,尽管您使用extend()
来定义这些定义,但其中许多定义(例如路线的控制器)都是单例的
因此,我的问题是:在余烬应用程序中记录类的常见情况下,您会使用@constructor
还是@static
?例如:
- 初始化者
- 路由器
- 适配器
- 序列化程序
- 转变
- 路线
- 商店
- 模型
- 控制器
- 观点
- 组成部分
- 混血儿
- 初始化器-对Ember内部静态实例的方法调用
- 路由器-静态实例(虽然技术上它是创建的)
- 适配器-@构造函数
- 序列化程序-@构造函数
- 转换-@constructor,假设您谈论的是DS.Transform
- 路由-@构造函数
- 存储区(这是余烬数据,它们初始化实例并将其连接到容器中)
- Models-@constructor如果我们说的是DS.Model
- 控制器-@构造函数
- 适配器-@构造函数
- 视图-@构造函数
- 组件-@构造函数
- Mixin-@constructorish,Ember.Mixin可以创建,但实例不是。您不需要使用extend来生成不同类型的mixin
itemController
,或者当您在模板中使用render
时,我确信还有很多其他模式。- 初始化器-对Ember内部静态实例的方法调用
- 路由器-静态实例(虽然技术上它是创建的)
- 适配器-@构造函数
- 序列化程序-@构造函数
- 转换-@constructor,假设您谈论的是DS.Transform
- 路由-@构造函数
- 存储区(这是余烬数据,它们初始化实例并将其连接到容器中)
- Models-@constructor如果我们说的是DS.Model
- 控制器-@构造函数
- 适配器-@构造函数
- 视图-@构造函数
- 组件-@构造函数
- Mixin-@constructorish,Ember.Mixin可以创建,但实例不是。您不需要使用extend来生成不同类型的mixin
路由是类定义。当您使用extend时,您并不是在创建一个单例,而是在定义一个Ember可以使用的类。如果ember需要它,它将通过命名模式知道,并将尝试使用您定义的类创建它。在余烬中使用相同的图案。Singleton是默认模式,有一些例外,例如
itemController
,或者当您在模板中使用render
时,我相信还有很多其他模式。请澄清,当您说路由器是静态实例时,建议您使用@static
,请澄清,当你说路由器是一个静态实例时,你建议使用@static
?