我想触发一个没有值的@Input setter,因此使用RxJS'
Subject()
。
然而,这只发出一次,显然是因为没有值发生改变。
如何在每次就该主题致电
next()
时触发输入?
父组件
fromEvent(window, 'keydown').subscribe((res: KeyboardEvent) => {
this.save$.next();
});
// HTML
<some-component [save]="(save$ | async)" />
某些组件
@Input() set save() {
console.log('save'); // only fires one time
}
此设置仅在第一次触发。后续所有时间都不会触发绑定。
编辑:一种方法是每次添加一个新值。
this.save$.next({});
但这违背了问题的目的,只是简单地触发设置器(没有值)
那么你可以这样做:
fromEvent(window, 'keydown').subscribe(this.save$)