मेरे पास एक घटक है जो एक और घटक <inner-component>
लपेटता है और InnerComponent.innerChanged()
कस्टम ईवेंट से बांधता है। मैं @output
संपत्ति का उपयोग करके बबल करना चाहता हूं, लेकिन मैं आउटपुट को भी रद्द करना चाहता हूं।मैं एक आंतरिक घटक के @Output को कैसे रद्द कर सकता हूं?
मैं RxJS
.debounce()
या .debounceTime()
का उपयोग कैसे यह करने के लिए करते हैं?
कुछ इस तरह:
import {Component, Output, EventEmitter} from 'angular2/core';
import 'rxjs/add/operator/debounce';
import 'rxjs/add/operator/debounceTime';
@Component({
selector: 'debounced-component',
template: `
<div>
<h1>Debounced Outer Component</h1>
// export class InnerComponent{
// @Output() innerChanged: new EventEmitter<string>();
// onKeyUp(value){
// this.innerChanged.emit(value);
// }
// }
<input #inner type="text" (innerChange)="onInnerChange(inner.value)">
</div>
`
})
export class DebouncedComponent {
@Output() outerValueChanged: new EventEmitter<string>();
constructor() {}
onInnerChange(value) {
this.outerValuedChanged.emit(value); // I want to debounce() this.
}
}
की डुप्लीकेट की तरह लगता है [इस सवाल] (http://stackoverflow.com/a/36849347/2435473) –
मैं यह एक ही है क्योंकि मैं उपयोग नहीं कर सकते नहीं लगता कि 'Observable.fromEvent()' और मेरे पास 'FormControl.valueChanges' नहीं है। 'this.outerValuedChanged.debounce (500) .emit (value) 'काम नहीं कर रहा है ... – michael