Angularjs 是否有可能用角度的事件中断循环?
我在网上找不到任何东西,但是在某个事件(例如mousemove或mouseup)被触发之前,我如何使函数运行?像这样:Angularjs 是否有可能用角度的事件中断循环?,angularjs,angular,typescript,mouseevent,Angularjs,Angular,Typescript,Mouseevent,我在网上找不到任何东西,但是在某个事件(例如mousemove或mouseup)被触发之前,我如何使函数运行?像这样: @HostListener('window:mousedown',['$event'])) onMouseDown():void{ while(true){ //做事 如果(mouseUpEvent | | mouseMoveEvent){/您可以使用Observables执行此操作。当鼠标事件发生时更新行为子对象,并侦听相应行为子对象中的更改。这样,您就可以使用rxjs链接不
@HostListener('window:mousedown',['$event']))
onMouseDown():void{
while(true){
//做事
如果(mouseUpEvent | | mouseMoveEvent){/您可以使用Observables执行此操作。当鼠标事件发生时更新行为子对象
,并侦听相应行为子对象
中的更改。这样,您就可以使用rxjs链接不同的事件
mouseDown$=newbehaviorsubject();
mouseUp$=新行为主体();
mouseMove$=新行为主体(),
listenToMouseEvents():void{
这个.mouseDown$.pipe(
takeUntil(merge(this.mouseUp$,this.mouseMove$),//停止可观察对象的条件
repeat()//这样就不会杀死可观察对象
).订阅(()=>{
//做事
})
}
@HostListener('窗口:mousedown',['$event']))
onMouseDown():void{
this.mouseDown$.next();
}
@HostListener('窗口:mouseup',['$event']))
onMouseUp():void{
this.mouseUp$.next();
}
@HostListener('窗口:mousemove',['$event']))
onMouseMove():void{
this.mouseMove$.next();
}
我最终使用了类似于此代码的东西,但在调用mouseup或mousemove时计时器会停止,我有时间时会发布代码。谢谢!