1
角度4のキーアップイベントを遅らせたいと思います。キーアップイベントを発生させるために500ms待つだけです。 angular.io tutorial の例に従うと、updateText()はobservableから呼び出されないようです。観察可能な問題のように見える。解決キーアップイベントの角度を遅らせる方法は?
@Component({
selector: 'my-app',
template: `
<div>
<h2>Key event Demo {{name}}</h2>
</div>
<div>
<h4> KeyUp Event: </h4>
<input #keyUpInput (keyup)="onKeyUp(keyUpInput.value)">
<div>
<h5> KeyUp Text: </h5>
<p>{{values}}</p>
</div>
</div>
<div>
<h4> KeyUp Event With Delay: </h4>
<input #keyUpInputDelay (keyup)="onKeyUpDelay(keyUpInputDelay.value)">
<div>
<h5> KeyUp Text: </h5>
valuesDelay: <p>{{valuesDelay}}</p>
valuesDelayText: <p>{{valuesDelayText}}</p>
</div>
</div>
`,
})
export class App implements OnInit {
public name:string;
public values:string = '';
public valuesDelay:string = '';
public valuesDelayText:string = '';
private typeTerm = new Subject<string>();
constructor() {
this.name = `Angular! v${VERSION.full}`
}
ngOnInit(): void {
this.typeTerm.debounceTime(300).distinctUntilChanged().map(term => this.updateText(term));
}
public onKeyUp(value: string): void {
this.values += value + ' | ';
}
public onKeyUpDelay(value: string): void {
this.valuesDelay += value + ' | ';
this.typeTerm.next(value);
}
public updateText(value: string): void {
this.valuesDelayText += value + ' | ';
}
}
に加入する必要があります。私はあなたの編集をロールバックしました。解決策が見つかった場合は、自分の投稿に回答を追加することをお勧めします – bolov