Javascript 我可以在常规JS(AngularJS之外)中收听AngularJS中抛出的事件吗
我可以在常规JS(AngularJS之外)中收听AngularJS中抛出的事件吗 我有一个用例,我在Angular 2中使用(rxjs)抛出一个事件。我可以用纯JS订阅外面的活动吗 这里有一些伪代码Javascript 我可以在常规JS(AngularJS之外)中收听AngularJS中抛出的事件吗,javascript,angular,typescript,rxjs,dom-events,Javascript,Angular,Typescript,Rxjs,Dom Events,我可以在常规JS(AngularJS之外)中收听AngularJS中抛出的事件吗 我有一个用例,我在Angular 2中使用(rxjs)抛出一个事件。我可以用纯JS订阅外面的活动吗 这里有一些伪代码 import {Observable} from 'rxjs/Rx'; ... @Output() responsesEvt = new EventEmitter(); ... this.responsesEvt.emit(this.form.value); 我想在Angular 2之外触
import {Observable} from 'rxjs/Rx';
...
@Output() responsesEvt = new EventEmitter();
...
this.responsesEvt.emit(this.form.value);
我想在Angular 2之外触发ResponseSVT时订阅它。@Output()
和EventEmitter
不应用于角度事件绑定以外的任何东西,如(responseSVT)=“doSomething($event)”
。这只适用于直系子女和直系父母(不冒泡)
否则使用可观察的
或主题
如果您想在Angular之外通知JS,只需使用DOM事件,如
constructor(private elRef:ElementRef, private renderer:Renderer) {}
someMethod() {
this.renderer.invokeElementMethod(this.elRef.nativeElement,
'dispatchEvent',
[new CustomEvent('responses-evt', { bubbles: true })]);
另请参见@Output()
和EventEmitter
不应用于角度事件绑定以外的任何内容,如(responsesvt)=“doSomething($event)”
。这只适用于直系子女和直系父母(不冒泡)
否则使用可观察的
或主题
如果您想在Angular之外通知JS,只需使用DOM事件,如
constructor(private elRef:ElementRef, private renderer:Renderer) {}
someMethod() {
this.renderer.invokeElementMethod(this.elRef.nativeElement,
'dispatchEvent',
[new CustomEvent('responses-evt', { bubbles: true })]);
另请参见您可以创建自己的observable,并在需要时订阅它,如下所示:
import { Observable } from 'rxjs/Rx';
import * as Rx from 'rxjs/Rx';
.......
demo: Rx.Subject<any> = new Rx.Subject<any>(); //create new observable using subject
this.demo.next(your_value); //fire your observable
.......
您可以创建自己的observable,并在需要时订阅它,如下所示:
import { Observable } from 'rxjs/Rx';
import * as Rx from 'rxjs/Rx';
.......
demo: Rx.Subject<any> = new Rx.Subject<any>(); //create new observable using subject
this.demo.next(your_value); //fire your observable
.......
请发布代码,演示您试图实现的目标。你试过什么?你在哪里失败了?所以你说的是发出值而不是DOM事件的可观察对象?你可以创建自己的可观察对象,并在需要时订阅它,你尝试过吗?请发布代码,演示你试图实现的目标。你试过什么?你在哪里失败了?所以你说的是发出值而不是DOM事件的可观察对象?你可以创建自己的可观察对象,并在需要时订阅它,你试过这个吗?