插值不适用于Init,如何使它起作用

时间:2019-07-04 21:48:29

标签: angular typescript

首先,我有一个组件,用于订阅来自服务的http get请求并将响应设置为变量。在服务中,我创建了一个可观察的新主题,因此可以在另一个组件中进行订阅。但是,当我在新组件上订阅它时,我能够获取该对象,并且我也可以对其进行记录,并且它显示了正确的值,但是我无法通过内插法将其显示在html中。

服务

private transactionsToSend = new Subject<any>();
  currentTransactions = this.transactionsToSend.asObservable();

transactions() {
    return this.http.get<any>(`${this._url}/transactions`)
  }

sendTransactions(transaction: Transactions){
    this.transactionsToSend.next(transaction)
  }

我订阅并发送给另一个组件的组件

this.transactionsService.transactions().subscribe(
     (res : Transactions) => {
       this.transactions = res;

       this.transactionsService.sendTransactions(this.transactions);
     })

然后我将其放在另一个组件上

  getReceives() {   
    this.transactionService.currentTransactions.subscribe(     
      (res : any) => {
        this.valueReceita = 0;
        this.currentTransactions = res.transactions;
        for (let x = 0; x < res.transactions.length; x++) {
          if (this.currentTransactions[x].chart == "+") {
            this.valueReceita += parseFloat(this.currentTransactions[x].value)
          }         
      }
      console.log(this.valueReceita)//This value is 99999
    })
  }

但是当我尝试显示它

<p>{{valueReceita | currency:'BRL'}}</p>

直到我再次提出请求时,它才会显示

1 个答案:

答案 0 :(得分:0)

通过BehaviourSubject替换主题