首先,我有一个组件,用于订阅来自服务的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>
直到我再次提出请求时,它才会显示
答案 0 :(得分:0)
通过BehaviourSubject替换主题