在角度分量

时间:2017-08-06 08:02:29

标签: javascript angularjs typescript angular-promise

我正在尝试使用angularJS中的$ onInit函数。

popup() {
    this.$log.log("popup clicked...");
}

constructor(
    public $log: ILogService,
    public $timeout: ITimeoutService,
    public $q: IQService,
    public $element: any) {

    // i have tried this
    $element.on("click custom:event", $q.when(() => this.popup()));

    // and this.
    $element.on("click custom:event", $timeout(() => this.popup(), 1000));

    // I have also tried the scope (last resort)
    $element.on("click custom:event", $scope.apply(() => this.popup());
}

在每种情况下,错误都是:

  

未捕获TypeError:((jQuery.event.special [handleObj.origType] ||(中间值))。handle || handleObj.handler)。apply不是函数       在HTMLElement.dispatch       在HTMLElement.elemData.handle

有没有办法正确创建一个承诺,以便在角度摘要中触发jQuery事件?

1 个答案:

答案 0 :(得分:0)

对任何可能受益的人......我是愚蠢的。

    this.$element.on("click", () => $q(() => this.popup()));