документ: нажмите не работает - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь создать глобальную директиву о событиях клика.Но документ: щелчок не работает для меня.

import 'package:angular/angular.dart';

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

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

При изменении документа: нажмите на нажмите Я получаю ожидаемое поведение.Но, конечно, не глобально.Что я делаю не так?

1 Ответ

0 голосов
/ 07 июня 2018

document: и другие подобные области событий были удалены в Dart.

Использовать вместо

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;
  }
}
...