从角度英雄编辑器教程中,我有一个关于FormsModule
的问题。
在此部分中,如果不导入FormsModule
,演示将无法运行:
https://angular.io/tutorial/toh-pt1#the-missing-formsmodule
The missing FormsModule
Notice that the app stopped working when you added [(ngModel)].
然后
import { FormsModule } from '@angular/forms';
并将其添加到imports
的{{1}}:
AppModule
没关系。
我的问题是我找不到@NgModule({
declarations: [
AppComponent,
HeroesComponent
],
imports: [
BrowserModule,
FormsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
和FormsModule
之间的任何关系,我只是在这里导入ngModel
,FormsModule
正在另一个地方工作,就像魔法一样
我也转到ngModel
的定义,这很简单:
FormsModule
因此,如果没有该文档,export declare class FormsModule {
}
来自ngModel
的代码就没有任何线索。我虽然某处可能有类似FormsModule
的东西,但却没有。
答案 0 :(得分:1)
Angular团队使用的模式是这里和那里有public_api.d.ts
个文件,用于定义导出。在这种情况下,如果您转到父文件夹,您将找到该文件。然后你会看到它从./src/forms.d.ts
导出所有内容,如果你查看该文件,你会发现该模块实际导出的所有内容。
话虽如此,文档应该始终是您在使用库时需要查看的第一个地方,而不是键入defs或源代码。通常它都在文档中,但当然在某些更阴暗的库中它可能不是。