Angular2 – bootstrap属性vs方法
我对Angular2完全不熟悉(没有以前的版本经验) – 有人会如此善意地解释引导程序作为NgModule属性与bootstrap作为方法之间的区别吗?
例如,在Angular2 Tour of Heroes教程中,app.module.ts包括以下内容: @NgModule({ imports: [ BrowserModule,FormsModule,AppRoutingModule ],declarations: [ AppComponent,DashboardComponent,HeroDetailComponent,HeroesComponent ],providers: [ HeroService ],bootstrap: [ AppComponent ] }) 在其他例子中,我见过这样的事情: let phoenixChannelsProvider = provide(PhoenixChannels,{ useFactory: () => { return new PhoenixChannels("ws://localhost:4000/socket"); } }); bootstrap(AppComponent,[phoenixChannelsProvider]); 如果有人甚至可以在这里模糊地概述“引导”概念的应用差异,那将非常感激. 解决方法
你需要他们两个:
在第一个,这是一个模块,基本上是你的根模块 bootstrap: [ AppComponent ] 这就是说,在这个模块中,我将启动我的应用程序的根组件是AppComponent,然后从那里获取它. 是说这个模块是引导AppComponent,如果你注意到它是一个数组,这意味着你可以有多个应用程序作为你的根模块的一部分被引导,这不是很常见. 但第二个,在最新版本的Angular中看起来像这样: platformBrowserDynamic().bootstrapModule(AppModule) 实际上是bootstrapping /启动angular2应用程序. Angular2框架需要一个起点吗?这是了解您的应用程序和所有内容的起点. 如果您来自Java背景,这是您的主要功能. 换句话说,应用程序需要从一个地方开始,这是起点(实际上不止于此). 如果你注意到,方法platformBrowserDynamic,在某种程度上是自我解释的,它正在谈论一个浏览器平台,这意味着你可以创建自己的平台并引导你的应用程序根模块(引导你的appComponent). 如果你搜索更多,你将意识到NativeScript或Angular2Universal或其他,主要的区别是bootstrap函数(platformBrowserDynamic). 例如,在Universal中,我们有: platformUniversalDynamic().bootstrapModule(AppModule) 或者当您想使用Web worker时,您会看到: bootstrapWorkerApp(AppModule,[]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |