有没有办法从Angular 2的组件中检查@Output接线?

贾斯汀·施瓦岑伯格

ngOnInit组件方法中,@ Input值将被绑定,因此您可以检查组件上的那些属性,但是似乎没有办法检查@Output事件绑定。我想知道@Output是否在组件上连线。

(使用Angular 2 beta 2和TypeScript)

import {Component, Output, EventEmitter} from 'angular2/core';

@Component({
    selector: 'sample',
    template: `<p>a sample</p>`
})
export class SampleComponent {
    @Output() cancel = new EventEmitter();

    ngOnInit() {
        // would like to check and see if cancel was used
        // on the element <sample (cancel)="doSomething()"></sample> 
        // or not <sample></sample>
    }
}
贾斯汀·施瓦岑伯格

user1448982相同的方法,但不使用ObservableWrapper,它是不公开通过api使用的平台代码。

(使用Angular 2 RC1和TypeScript)
注意:仅从2.0.0-beta.16和更高版本开始工作

import {Component, Output, EventEmitter} from '@angular/core';

@Component({
    selector: 'sample',
    template: `<p>a sample</p>`
})
export class SampleComponent {
    @Output() cancel = new EventEmitter();
    private isCancelUsed = false;

    ngOnInit() {
        this.isCancelUsed = this.cancel.observers.length > 0;
    }
}

柱塞

ObservableWrapper.hasSubscribers方法在内部执行此行,因此您可以在此处执行相同的操作。

当使用打字稿如果角度过最终改变你会得到一个transpile时间误差EventEmitterSubject(这是一部分Observable,因此.observers属性)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法重置Angular中的$ touched?

来自分类Dev

有没有办法在 angular 2 dart 中延迟加载组件?

来自分类Dev

有没有办法在 Angular 2 中隐藏组件?

来自分类Dev

有没有办法在Angular中的子路由之前渲染父组件?

来自分类Dev

有没有办法使组件(而不是元素)在 angular 中可拖动?

来自分类Dev

有没有办法检查WebDav中的凭据?

来自分类常见问题

有没有办法从Angular 2+中删除未使用的导入和声明?

来自分类Dev

有没有办法在Angular2中将ngForm用于div元素

来自分类Dev

有没有办法防止在Angular 2 RC5中删除DOM?

来自分类Dev

有没有办法在Angular2中进行“输入转换”(与管道相反)?

来自分类Dev

有没有办法检查$ _POST是否存在?

来自分类Dev

有没有办法使用Firebase检查凭证?

来自分类Dev

有没有办法检查谁执行查询?

来自分类Dev

Angular2有没有办法动态设置bootstrap col?

来自分类Dev

有没有办法在ng-repeat中使用angular中的$ index作为模型?

来自分类Dev

有没有办法等待Angular中的DOM更新?

来自分类Dev

有没有办法在Angular 7中为模板html属性* key *使用变量?

来自分类Dev

有没有办法消除Angular Js中的此错误?

来自分类Dev

有没有办法在angular js的ng-repeat中声明和增加变量

来自分类Dev

有没有办法在 angular 7 应用程序中以编程方式清除缓存?

来自分类Dev

Angular:有没有办法在模板中显示原始(原始/未编译)代码

来自分类常见问题

有没有办法在PHP中扩展特征?

来自分类Dev

有没有办法清除JavaScript中的对象?

来自分类Dev

有没有办法在leveldb中更改键?

来自分类Dev

有没有办法使ghc中的并置过载?

来自分类Dev

有没有办法刷新Inkscape中的扩展

来自分类Dev

有没有办法在POJO中访问SlingRepository?

来自分类Dev

有没有办法在Haskell中取消映射?

来自分类Dev

有没有办法在VBA中编辑公式

Related 相关文章

  1. 1

    有没有办法重置Angular中的$ touched?

  2. 2

    有没有办法在 angular 2 dart 中延迟加载组件?

  3. 3

    有没有办法在 Angular 2 中隐藏组件?

  4. 4

    有没有办法在Angular中的子路由之前渲染父组件?

  5. 5

    有没有办法使组件(而不是元素)在 angular 中可拖动?

  6. 6

    有没有办法检查WebDav中的凭据?

  7. 7

    有没有办法从Angular 2+中删除未使用的导入和声明?

  8. 8

    有没有办法在Angular2中将ngForm用于div元素

  9. 9

    有没有办法防止在Angular 2 RC5中删除DOM?

  10. 10

    有没有办法在Angular2中进行“输入转换”(与管道相反)?

  11. 11

    有没有办法检查$ _POST是否存在?

  12. 12

    有没有办法使用Firebase检查凭证?

  13. 13

    有没有办法检查谁执行查询?

  14. 14

    Angular2有没有办法动态设置bootstrap col?

  15. 15

    有没有办法在ng-repeat中使用angular中的$ index作为模型?

  16. 16

    有没有办法等待Angular中的DOM更新?

  17. 17

    有没有办法在Angular 7中为模板html属性* key *使用变量?

  18. 18

    有没有办法消除Angular Js中的此错误?

  19. 19

    有没有办法在angular js的ng-repeat中声明和增加变量

  20. 20

    有没有办法在 angular 7 应用程序中以编程方式清除缓存?

  21. 21

    Angular:有没有办法在模板中显示原始(原始/未编译)代码

  22. 22

    有没有办法在PHP中扩展特征?

  23. 23

    有没有办法清除JavaScript中的对象?

  24. 24

    有没有办法在leveldb中更改键?

  25. 25

    有没有办法使ghc中的并置过载?

  26. 26

    有没有办法刷新Inkscape中的扩展

  27. 27

    有没有办法在POJO中访问SlingRepository?

  28. 28

    有没有办法在Haskell中取消映射?

  29. 29

    有没有办法在VBA中编辑公式

热门标签

归档