document:click 不工作

document:click not working

我正在尝试创建一个全局点击事件指令。但是 document:click 对我不起作用。

import 'package:angular/angular.dart';

@Directive(
  selector: '[clickOutside]'
)
class ClickOutsideDirective {

  @HostListener('click', [r'$event.target'])
  void onClick(targetElement){
    print('Target:' + targetElement.toString());
  }
}

document:click 更改为 click 时,我得到了预期的行为。但当然不是全球性的。我做错了什么?

Dart 中删除了 document: 和类似的事件范围。

改用

import 'dart:html';

class ClickOutsideDirective implements OnInit, OnDestroy {
  StreamSubscription _docClickSub;
  ngOnInit() {
    _docClickSub = document.onClick.listen((event) {
      print('Target:' + event.target.toString());
    });
  }

  ngOnDestroy() {
    _docClickSub?.cancel();
    _docClickSub = null;
  }
}