我对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/

10-11 23:47