Javascript 如何在angular2中使用RxJS?
有没有办法在angular 2中编写这样的代码Javascript 如何在angular2中使用RxJS?,javascript,angular,Javascript,Angular,有没有办法在angular 2中编写这样的代码 var closeButton1 = document.querySelector('.close1'); var close1ClickStream = Rx.Observable.fromEvent(closeButton1, 'click'); 我试过很多方法把它们放在角度2分量上,但效果不好! 我试过这样的东西 组件技术 @ViewChild('delete') closeButton1: ElementRef; close1Click
var closeButton1 = document.querySelector('.close1');
var close1ClickStream = Rx.Observable.fromEvent(closeButton1, 'click');
我试过很多方法把它们放在角度2分量上,但效果不好!
我试过这样的东西
组件技术
@ViewChild('delete') closeButton1: ElementRef;
close1ClickStream = Observable.fromEvent(closeButton1, 'click');
component.html
<!-- this code is inside *ngFor -->
<li><a #delete [routerLink]="['/update', item.id]">delete</a></li>
删除
问题是,即使使用AfterContentInit,我也无法访问该元素。此外,如果我可以访问它,我可以使用
可观察的.fromEvent(…)
?使用指令来处理事件吗
@Directive({
selector: '[click-handler]'
})
export class ClickHandler {
constructor(public elementRef: ElementRef,) {
}
@HostListener('click', ['$event'])
onClick(e) {
// do staff here
}
}
用法
<button click-handler> click </button>
点击
无论如何,如果你想用可观察的东西来做这件事,你需要
elementRef.nativeElement
此处提供,只需实现OnInit
方法,您就可以开始了。是的,您可以做到:
import { Observable } from 'rxjs/Observable';
//...
@ViewChild('delete') closeButton1: ElementRef;
close1ClickStream = Observable.fromEvent(closeButton1, 'click');