我对Rxjs和Angular 4还是比较陌生,无法理解如何做到这一点。
模板:
<div class="btn-group cp">
<input [colorPicker]="bgColor"
(colorPickerChange)="colorChanged()"
[style.background]="bgColor">
</div>
在mousemove上由colorPickerChnage调用colorChanged()。我想在我的组件中包含以下内容:
colorChanged$.subscribe(data => console.log(data))
(它将有一些去抖动和更多的订阅者,这就是为什么我希望将其作为可观察到的原因。)
最佳答案
我解决了
模板:
<div class="btn-group cp">
<input [colorPicker]="bgColor"
(colorPickerChange)="colorChanged(bgColor)"
[style.background]="bgColor">
</div>
然后在组件中:
import { Subject } from 'rxjs';
colorChanged$ = new Subject<string>();
colorChanged(bgColor) {
this.colorChanged$.next(bgColor)
}
ngOnInit() {
this.colorChanged$.subscribe(v => console.log(v));
}
关于Angular 4-将事件转换为可观察的流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43262128/