如何订阅调用的全局方法

时间:2017-10-09 18:41:07

标签: angular typescript ionic-framework ionic2

我有globalvars.ts,我添加了全局方法。如何在被调用的ts页面中订阅此方法

globalvars.ts;

httpgetmethod(url:string)
{
  var veri;   
  var headers = new Headers();
  headers.append('Accept', 'application/json');
  headers.append('Content-Type', 'application/json' );
  headers.append('Authorization' , 'Bearer '+ "");
  let options = new RequestOptions({ headers: headers });

  this.http.get(url, options)
  .subscribe(data => {
    console.log( data['_body']);
    veri=data['_body'];
    veri = veri.replace(/\\/g, "");
    veri = JSON.parse(veri);
    return veri;

  });

profile.ts;

globalvars.httpgetmethod(" http://...../api/profile/me&#34)。订阅;

我想在这里订阅

感谢。

1 个答案:

答案 0 :(得分:0)

您所追求的是Angular中的服务。

一个简单的角度服务

import { Injectable } from '@angular/core';

import { Hero } from './hero';
import { HEROES } from './mock-heroes';

@Injectable()
export class HeroService {
  getHeroes(): Hero[] {
    return HEROES;
  }
}

包含在应用程序中

@NgModule({
  //other metadata properties
  providers: [HeroService]
})

等组件中使用
constructor(private heroService: HeroService) { }

有关Servicesthis

的更多信息

<强>更新

<强>服务

getUser(user:string){
    return this.client.get('https://api.github.com/users/'+user);
  }

<强>组件

 constructor(
private service: AngularService) {

    this.weatherService.getUser(term)
      .subscribe((result) => {
        console.log(result);
        this.result = result;
      });

  }