我目前正在使用 Angular 2.0(发行版)开始一个新项目,我想定义一些全局数据模型/模式。据我了解,Angular 2 没有像这样处理纯数据类的默认方法:
export class TestModel {
id: number;
name: string;
randomAttribute: number;
author: string;
}
所以我关于最佳实践的第一个问题是:我应该在使用 Angular 2 时定义这样的类吗?
对于我整个应用程序的设计和概念,我认为它们是必要的,但我不确定我是否在这里应用了错误的思维方式。
多个模块( ngModule )有时需要这些数据类,所以我的第二个问题是我应该将它们放在我的应用程序中的什么位置?目前我有以下结构:
/app
/shared
shared.module.ts
test.model.ts
/module1
module1.module.ts
foo.component.ts
[...]
/module2
module2.module.ts
bar.component.ts
[...]
app.module.ts
[...]
我的第一个想法是在 import 的每个模块中包含instruction.model.ts
并shared.module
导出它shared.module
。这似乎不起作用,因为模型不是指令、管道或模块。有没有办法导出它?
更简单的解决方案是直接导入test.model.ts
文件和每个需要它的模块中的每个其他共享模型。但这对于多个模型来说似乎很笨重且不方便。
我想到的第三种可能的解决方案是将所有共享数据模型放在一个单独的文件夹中,将它们的导出捆绑在一个文件中,如下所示,然后将该文件导入每个需要它的模块中。