2016-06-20 13 views
5

Ich habe einige Dienste, die den gleichen Code innen haben:Wie wird eine Klasse in TypeScript erweitert?

constructor (private http: Http) { 
    //use XHR object 
    let _build = (<any> http)._backend._browserXHR.build; 
    (<any> http)._backend._browserXHR.build =() => { 
     let _xhr = _build(); 
     _xhr.withCredentials = true; 
     return _xhr; 
    }; 
} 

Ich wollte den Code separate Datei http_base_clas.ts und wiederzuverwenden Code so viel wie possible.Here bewegen ist http_base_clas.ts:

import {Http} from '@angular/http'; 

export class HttpBaseClass { 
    constructor (http: Http) { 
     //use XHR object 
     let _build = (<any> http)._backend._browserXHR.build; 
     (<any> http)._backend._browserXHR.build =() => { 
      let _xhr = _build(); 
      _xhr.withCredentials = true; 
      return _xhr; 
     }; 
    } 
} 

Wie kann http_base_class in auth_service.ts erweitert werden?

import {Injectable} from '@angular/core'; 
import {Http, Response} from '@angular/http'; 
import {Headers, RequestOptions} from '@angular/http'; 
import {Observable} from 'rxjs/Observable'; 

@Injectable() 

export class AuthenticationService { 
result: { 
    ok: boolean; 
}; 
private verifyUrl = 'http:example.com; 

constructor (private http: Http) { 

} 
private authRequest (url) { 
    let body = JSON.stringify({}); 
    let headers = new Headers({ 'Content-Type': 'application/json'}); 
    let options = new RequestOptions({ 
     headers: headers 
    }); 
    return this.http.post(url, body, options) 
     .map((res: Response) => res.json()) 
     .map(res => { 
      this.result = res; 
      return this.result.ok; 
     }); 
    } 
} 

Antwort

6
class AuthenticationService extends HttpBaseClass { 
    constructor(http:Http) { 
    super(http); 
    } 

    private authRequest (url) { 
    ... 
    } 
} 
+0

danke für die Hilfe. – Serhiy

+1

Ihr Name steht auf jeder eckigen Frage und Ihre Antwort enttäuscht nie. Vielen Dank! –

+1

@HerbiShtini danke. Freut mich zu hören, dass meine Antworten hilfreich sind :) –