ReplaySubject 在 Angular Stackblitz 上的行为与在 Typescript Stackblitz 上的行为不同?

ReplaySubject behaves different on Angular Stackblitz than on Typescript Stackblitz?

我正在开发 this library and when I test it on Stackblitz using pure typescript 它运行良好。在链接的演示中,如果您查看控制台日志,就会为存储的每个 post 生成一个日志语句。

我也在使用 Angular 在迷你 Todo 应用程序中测试相同的东西,每次用户输入新的 Todo 标题时,控制台都会记录商店中的条目数。换句话说,如果存储中有 10 个条目,条目数组将被记录 10 次,而不是一次。

我想弄清楚是我的应用程序/库有问题还是 Stackblitz 有问题....

这是 Stackblits 应用: https://stackblitz.com/edit/slice-todo?file=src%2Fapp%2Fapp.component.ts

想法?

您正在以 addTodo 方式订阅。每次它只是添加一个新的侦听器。您应该在构造函数或 init

中只在这里订阅一次