首先我要说我是Angular 2中的新人。
所以我正在创建一个从响应头获取变量的服务。 这是代码:
export class MyService{
constructor (private http: Http) {}
public doThings(varA:string, varB:string){
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions();
let data={
foo:{
thing1: varA,
thing2: varB
}
};
let body = JSON.stringify(data,null,2);
this.http.post("http://localhost:4000/foo", body , options)
.map((res)=> res.headers.get("foo"))
.subscribe((data)=> this.myValue = data);
}
public myValue = "";
}
组件A调用填充myValue的doThings函数:
...
export class AComponent {
constructor(private mySvc:MyService){}
vara;
varb;
onClick(){
this.mySvc.doThings(this.vara,this.varb);
}
}
App组件会监视myValue值,以隐藏/显示模板中的某些内容
...
export class AppComponent {
constructor(private mySvc: MyService){}
val = this.mySvc.myValue;
}
问题在于AppComponent val
始终设置为""即使在组件b调用doThings
我做错了什么?
感谢。