加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2 – bootstrap属性vs方法

发布时间:2020-12-17 17:22:43 所属栏目:安全 来源:网络整理
导读:我对Angular2完全不熟悉(没有以前的版本经验) – 有人会如此善意地解释引导程序作为NgModule属性与bootstrap作为方法之间的区别吗? 例如,在Angular2 Tour of Heroes教程中,app.module.ts包括以下内容: @NgModule({ imports: [ BrowserModule,FormsModule,A
我对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,[]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读