如何在angular2 cli项目中使用Rxjs和document.querySelector('button')
获取错误单击次数。 下面执行Rxjs代码的正确方法是什么如何在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
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)
^^^