大佬教程收集整理的这篇文章主要介绍了Angular 2 RC 5 Bootstrap自定义HTTP类TypeError:无法读取属性’toString’为null,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用RC 4,我可以在bootstrap中使用它,没有任何问题使用下面的代码:
bootstrap(AppComponent,[ http_PROVIDERS,provide(requestOptions,{ useClass: DefaultrequestOptions }),provide(http,{ useFactory: (BACkend: XHRBACkend,defaultOptions: requestOptions) => new httpLoading(BACkend,defaultOptions),deps: [XHRBACkend,requestOptions] }) ]).catch(err => console.error(err));
我的Defaultrequest选项类
import { Injectable } from '@angular/core'; import { Headers,BaserequestOptions } from '@angular/http'; @Injectable() export class DefaultrequestOptions extends BaserequestOptions { headers: Headers = new Headers({ 'Content-Type': 'application/json' }); }
import { http,requestOptionsArgs,ConnectionBACkend,requestOptions,Response } from '@angular/http' import { Injectable } from '@angular/core' import {GlobalservicE} from './globalservice'; import { Observable } from 'rxjs/Observable'; export class httpLoading extends http { constructor(BACkend: ConnectionBACkend,defaultOptions: requestOptions,private _globalservice: GlobalservicE) { super(BACkend,defaultOptions); } get(url: String,options?: requestOptionsArgs): Observable<any> { this._globalservice.isLoading = true; return super.get(url,options) .map(res => { this._globalservice.isLoading = false; return res.json(); }) .catch(this.handleError); } }
使用角度2 RC 5,引导方式已经改变,我们现在需要有NgModule和bootstrap.我已经遵循迁移指南,并在NgModule下创建了我:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule,ReactiveFormsModule } from '@angular/forms'; import { httpR_457_11845@odule } from '@angular/http'; import { http,http_PROVIDERS,XHRBACkend } from '@angular/http'; import { DefaultrequestOptions } from './DefaultrequestOptions'; import { httpLoading } from './http-loading'; import { routIng } from './app.routIng'; import { AppComponent } from './components/app.component'; @NgModule({ imports: [ BrowserModule,FormsModule,ReactiveFormsModule,httpR_457_11845@odule,routIng ],declarations: [ AppComponent ],providers: [ http_PROVIDERS,{ provide: requestOptions,useClass: DefaultrequestOptions },{ provide: http,useFactory: (BACkend: XHRBACkend,globalservice: GlobalservicE) => new httpLoading(BACkend,defaultOptions,globalservicE),Globalservice] },Globalservice ],bootstrap: [AppComponent],}) export class AppModule { }
但是现在当我在组件中使用它时,它没有向服务器发送任何请求,并且在控制台中通过以下错误:
EXCEPTION: Error: Uncaught (in promisE): TypeError: CAnnot read property 'toString' of null
我使用http的组件如下:
import { Component,OnInit } from '@angular/core'; import { http } from '@angular/http'; @Component({ templateUrl: '../../templates/home/home.html' }) export class HomeComponent implements OnInit { constructor(private http: http) {} ngOnInit() { this.http.get('/home') .subscribe((data) => { }); } }
有人可以引导吗?
以上是大佬教程为你收集整理的Angular 2 RC 5 Bootstrap自定义HTTP类TypeError:无法读取属性’toString’为null全部内容,希望文章能够帮你解决Angular 2 RC 5 Bootstrap自定义HTTP类TypeError:无法读取属性’toString’为null所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。