获取错误"点击NaN次"。 下面执行Rxjs代码的正确方法是什么?
import { Component, ViewChild, ElementRef } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/scan';
import 'rxjs/add/operator/throttleTime';
export class AppComponent {
count: number;
title = 'app';
@ViewChild('input') button: ElementRef;
// @ViewChild('input1') button: ElementRef;
constructor() {
}
ngAfterViewInit() {
Observable.fromEvent(this.button.nativeElement, 'click')
.throttleTime(1000)
.scan(count => this.count + 1, 0)
.subscribe(count => console.log(`Clicked ${count} times`));
}
}
答案 0 :(得分:2)
您必须在班级中发起bool:
must:
term: parentId: 12345
has_child:
term:
something: value
字段值:
count
答案 1 :(得分:2)
您无需使用this.count
:
Observable.fromEvent(this.button.nativeElement, 'click')
.throttleTime(1000)
.scan(count => count + 1, 0)
.subscribe(count => console.log(`Clicked ${count} times`));
你在这里传递一个初始值:
.scan(count => count + 1, 0)
^^^
正如the docs所说:
您可以选择将扫描种子值作为附加参数传递。 scan会将此种子值传递给累加器函数 它被调用的时间(来自源Observable的第一次发射) 取代之前缺少的累积器调用结果。