Angular Apply已经在进行中



我正在使用一个名为intro.js的angular js插件。它可以在这里找到。我想做的是当用户点击演示按钮时打开一个下拉列表,这样我就可以显示下拉项目的一些介绍步骤。这是我的html:

<body ng-controller="MainCtrl as ctrl">
    <div ng-intro-options="ctrl.IntroOptions"
         ng-intro-method="ctrl.CallMe">
            <div class="container">
                <button class="btn btn-success" 
                ng-click="ctrl.startHelp()">Help</button>
            </div>
    </div>
</body>

还有我的JS:

MainCtrl.prototype.startHelp = function() {
    var _this = this;
    angular.element('#drop-down-button').trigger('click');
    _this.CallMe();
};

我也试过

angular.element('#drop-down-button').click();

但同样的错误。如果我去掉angular.element行,介绍就可以了。然而,包括在内,我得到了这个错误。知道怎么绕过这个吗?

我只需要将调用封装在一个超时内。

MainCtrl.prototype.startHelp = function() {
    var _this = this;
    _this.$timeout(function() {
        angular.element('#drop-down-button').trigger('click');
    }, 0, false);
    _this.CallMe();
};

最新更新