Javascript 我可以在常规JS(AngularJS之外)中收听AngularJS中抛出的事件吗

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之外触

我可以在常规JS(AngularJS之外)中收听AngularJS中抛出的事件吗 我有一个用例,我在Angular 2中使用(rxjs)抛出一个事件。我可以用纯JS订阅外面的活动吗

这里有一些伪代码

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事件的可观察对象?你可以创建自己的可观察对象,并在需要时订阅它,你试过这个吗?