如何在angular2 cli项目中使用Rxjs和document.querySelector('button')

如何在angular2 cli项目中使用Rxjs和document.querySelector('button'),angular,Angular,获取错误单击次数。 下面执行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/throttleTi

获取错误单击次数。 下面执行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`));

    }
}
您必须在类中启动计数字段值:

export class AppComponent {
     count:number = 0;
     // ...
}
您不需要使用此项。计数:

您正在此处传递初始值:

   .scan(count => count + 1, 0)
                            ^^^
比如说:

您可以选择将种子值作为附加参数传递。 扫描将首先将此种子值传递给累加器函数 从可观测源发出的第一次发射的时间 代替先前调用累加器时丢失的结果


为什么要使用这个.count而不是.scancount=>count+1?有帮助吗?是的,谢谢。你能帮我回答以下问题吗:2然后你可以将我的答案标记为已接受,我将使用.scancount=>count+1查看在count+1处出现错误的其他问题,0@ManzerAhmadTry.scancount:number=>count+1,0可以正常工作,但单击次数没有增加。
   .scan(count => count + 1, 0)
                            ^^^