我正在使用Angular 4 Ionic Firebase构建应用程序 .

我有一个snapshotChanges observable,我用它向用户呈现一个数据列表,一切正常 .

现在我需要在每次迭代中检查一些东西,所以我在模板中的snapshotChanges循环中调用一个函数 .

我在这个函数中添加了一个console.log来检查函数是否被调用,我看到函数永远不会被调用,我担心这会导致我的APP中的内存/性能问题 .

由于snapshotChanges它是一个可观察的并且我订阅了它,也许这是正常行为,我没有太多关于可观察量的经验,所以我不确定 .

这是snapshotChanges函数:

this.feedService.getFeed().snapshotChanges().map(changes => {
  return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
}).subscribe(fl => {
  this.feedList = fl.sort((function (a, b) { return b.date - a.date; }));
});

这是html模板,我在每次迭代中都有函数调用:

<ion-icon [name]="isFavourite(item)"></ion-icon>

在这个isfavourite函数中,我有一个console.log,它在控制台中打印而没有停止:

console