学习Angular时,我只是通过各种Angular-CLI命令来生成Angular的各个部分,例如“组件”,“服务”,“接口”,“管道”等。
通过Angular-CLI生成Angular项目
ng g c components/comp-1 //generates component
ng g s services/service-1 // generates service
ng g i interfaces/interface-1 // generates interface
但是,令我惊讶的是,为什么没有为' Model '生成命令(尽管Interface也可以完成一些工作-但是Model更强大,因为在类中也可以包含方法)。
在生成“自动生成模型”命令时,我缺少某些东西还是错过了Team-Angular吗?因为它们是OOPS框架的核心。
参考:
答案 0 :(得分:25)
因为模型是是一个类,所以要使用--type
这样的选项来生成模型:
ng generate class hero --type=model
将导致:
hero.model.ts
答案 1 :(得分:0)
您不能直接生成模型。实际上,模型是一类。 ng generate默认情况下仅允许以下类型的生成。
因此,您可以使用--type选项定义一个生成类。 假设您想要一个类似bar.foo.ts
的类您只需使用以下选项进行定义即可。
ng generate class bar --type=foo
根据您的情况,您可以使用此命令定义模块
ng generate class nameOfYourModule --type=model
它将生成nameOfYourModule.model.ts
请参考此ng生成的官方documentation,以获取更多信息。
答案 2 :(得分:0)
此命令还会生成模型
ng generate class employee --type
结果:
employee.ts
employee.spec.ts
答案 3 :(得分:0)
我只使用 ng generate class
(没有任何标志),我相信许多其他人也这样做。我认为我在 Angular 中使用纯类文件的唯一时间是使用模型。由于它们大部分位于模型文件夹中,因此几乎没有理由使用 --type=model
添加额外的 'model' 后缀。我相信这是 Angular 团队没有包含 'ng generate model' 命令的部分原因(因为它是类的重复)。
答案 4 :(得分:0)
只需在项目根目录下运行:
ng generate interface your_model_name --type=model
# or in models folder
ng generate interface models/your_model_name --type=model