Angular2 Http v.s HTTP_PROVIDERS
Angular2 Http v.s HTTP_PROVIDERS
我阅读了一篇关于如何将 Http 服务注入 Angular2 应用程序的文章。
https://angular.io/docs/ts/latest/api/http/HTTP_PROVIDERS-let.html
import {HTTP_PROVIDERS, Http} from 'angular2/http';
@Component({
selector: 'app',
providers: [HTTP_PROVIDERS],
....
我以为 Http 服务已经包含在 HTTP_PROVIDERS 中了。 (如下,根据文档)。
"The providers included in HTTP_PROVIDERS include:
Http
XHRBackend
BrowserXHR - Private factory to create XMLHttpRequest instances
RequestOptions - Bound to BaseRequestOptions class
ResponseOptions - Bound to BaseResponseOptions class"
既然如此,怎么还要导入Http?我们只能做
import {HTTP_PROVIDERS} from 'angular2/http';
另一方面,更具体地说,我们能否将组件提供者更改为
providers: [Http]
?
或者在bootstrap,我们可以做bootstrap(app, [Http])
吗?
在 Angular2 中,我们不仅可以导入服务,还可以从模块中导入指令和值(常量)。我们导入那些 "TYPES" 是为了实现 TypeScript 的强类型特性。所以我们稍后可以在我们的组件class代码中引用它。
HTTP_PROVIDERS
是 deprecated.
例如:如 this comment 中所述,而不是:
@NgModule({
declarations: [AppComponent],
providers: [
HTTP_PROVIDERS
],
...
})
export class AppModule { }
使用这个
@NgModule({
declarations: [AppComponent],
imports: [
HttpModule
],
...
})
export class AppModule { }
注意:您在 @NgModule
中导入 imports
中的模块,而不是 @Component
。
我阅读了一篇关于如何将 Http 服务注入 Angular2 应用程序的文章。
https://angular.io/docs/ts/latest/api/http/HTTP_PROVIDERS-let.html
import {HTTP_PROVIDERS, Http} from 'angular2/http';
@Component({
selector: 'app',
providers: [HTTP_PROVIDERS],
....
我以为 Http 服务已经包含在 HTTP_PROVIDERS 中了。 (如下,根据文档)。
"The providers included in HTTP_PROVIDERS include:
Http
XHRBackend
BrowserXHR - Private factory to create XMLHttpRequest instances
RequestOptions - Bound to BaseRequestOptions class
ResponseOptions - Bound to BaseResponseOptions class"
既然如此,怎么还要导入Http?我们只能做
import {HTTP_PROVIDERS} from 'angular2/http';
另一方面,更具体地说,我们能否将组件提供者更改为
providers: [Http]
?
或者在bootstrap,我们可以做bootstrap(app, [Http])
吗?
在 Angular2 中,我们不仅可以导入服务,还可以从模块中导入指令和值(常量)。我们导入那些 "TYPES" 是为了实现 TypeScript 的强类型特性。所以我们稍后可以在我们的组件class代码中引用它。
HTTP_PROVIDERS
是 deprecated.
例如:如 this comment 中所述,而不是:
@NgModule({
declarations: [AppComponent],
providers: [
HTTP_PROVIDERS
],
...
})
export class AppModule { }
使用这个
@NgModule({
declarations: [AppComponent],
imports: [
HttpModule
],
...
})
export class AppModule { }
注意:您在 @NgModule
中导入 imports
中的模块,而不是 @Component
。