我有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)。订阅;
我想在这里订阅
感谢。
答案 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) { }
的更多信息
<强>更新强>
<强>服务强>
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;
});
}