作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
自 Angular 2 RC4 以来,我有以下 main.ts 文件:
import { bootstrap } from '@angular/platform-browser-dynamic';
import { enableProdMode,provide } from '@angular/core';
import {disableDeprecatedForms, provideForms} from '@angular/forms';
import {RequestOptions,HTTP_PROVIDERS} from '@angular/http';
import { AppComponent, environment } from './app/';
import { appRouterProviders } from './app/app.routes';
import {CustomRequestOptions} from "./app/custom-request-options";
import { Title } from '@angular/platform-browser';
if (environment.production) {
enableProdMode();
}
bootstrap(AppComponent, [
appRouterProviders,
disableDeprecatedForms(),
provideForms(),
HTTP_PROVIDERS,
provide(RequestOptions, {useClass: CustomRequestOptions}),
Title
])
.catch(err => console.error(err));
现在.. 我需要把它全部作为一个模块。所以我创建了 app.module.ts
文件
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
bootstrap: [AppComponent],
})
export class AppModule {}
我如何从以下行导入我的所有提供者和声明:
bootstrap(AppComponent, [
appRouterProviders,
disableDeprecatedForms(),
provideForms(),
HTTP_PROVIDERS,
provide(RequestOptions, {useClass: CustomRequestOptions}),
Title
])
在模块中工作?
最佳答案
使用 RC5,你需要这样引导:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
只需将您的提供程序移动到模块的提供程序(providers
属性):
@NgModule({
(...)
providers: [
provide(RequestOptions, {useClass: CustomRequestOptions}),
Title
]
})
对于表单、HTTP、路由,只需包含 Angular2 中的相应模块即可:
@NgModule({
(...)
imports: [
BrowserModule,
RouterModule.forRoot(config),
FormsModule,
HttpModule, // provides HTTP_PROVIDERS
]
})
有关详细信息,请参阅迁移文档:
关于Angular 2 RC4 到 RC5 自举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38919512/
我是一名优秀的程序员,十分优秀!