如何在angular2

时间:2016-04-24 17:36:26

标签: http angular

不幸的是,由于我在服务上存储了很多结果,我现在已经遇到了很多{{myservice.somevalue}}(以及myservice.someother)等等。我的其他组件也是如此。

我相信从服务返回组件会更好。

这是我在服务上的代码:

getIssue(issueName: string) {
    return this.http.post(this.URL + 'issue/all', JSON.stringify({'issueName': issueName}))
                    .subscribe(data => this.somevalue = data.json(),
                                err => console.log(err));
}

然后在其他几个组件上我称之为this.myservice.getIssue(issueName)

等函数

在HTML中,我更喜欢使用{{somevalue}}

如何从http服务返回http observable?

1 个答案:

答案 0 :(得分:1)

class SomeService {
  someValue = new BehaviorSubject();

  getIssue(issueName: string) {
      return this.http.post(this.URL + 'issue/all', JSON.stringify({'issueName': issueName}))
                      .subscribe(data => this.somevalue.next(data.json()),
                                  err => console.log(err));
  }
}

在您的组件中

class MyComponent {
  constructor(someService:SomeService) {
    someService.someValue.subscribe(val => {
      this.someValue = val;
    });
  }
}

有关替代方法,另请参阅https://stackoverflow.com/a/36291681/217408