【发布时间】:2017-02-20 05:48:46
【问题描述】:
我目前正在使用 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
[...]
我的第一个想法是将instruction.model.ts 包含在shared.module 中,并将其导出到每个导入shared.module 的模块中。这似乎不起作用,因为模型不是指令、管道或模块。 有没有办法导出它?
更简单的解决方案是直接导入test.model.ts 文件以及每个需要它的模块中的所有其他共享模型。但这对于多个模型来说似乎很笨重且不方便。
我想到的第三种可能的解决方案是将所有共享数据模型放在一个单独的文件夹中,将它们的导出捆绑在一个文件中,如下所示,然后将该文件导入每个需要它的模块中。
【问题讨论】:
标签: angular typescript directory-structure datamodel angular2-modules