从外部脚本调用ng-click函数

时间:2014-06-21 09:14:26

标签: javascript angularjs

我正在开发一种可以自动填写表单的chrome扩展程序。所以我填写的表单有一个附加到它的下一个按钮,它有一个ng-click属性" forward()"像这样 -

<button type="button" ng-class="{disabled: !showNext()}" ng-click="forward()" class="btn btn-success btn-lg default pull-right" style="font-size: 18px;">Next <i class="fa fa-chevron-right white-color"></i></button>

我尝试调用angular.element($('button.pull-right')).scope().forward()$('button.pull-right').scope().forward()并且函数执行但视图没有更新。我知道我可以做$('button.pull-right'.click()但是有效但实际上我需要绕过click事件,因为我需要将点击绑定到我的外部脚本功能(我将通过我的扩展注入页面)和然后从我的脚本调用forward()函数。

我有很多时间在Google上搜索,但没有一个能为我效劳。请帮助!

1 个答案:

答案 0 :(得分:0)

当你从它的上下文之外进入Angular时,它不会注意到你已经这样做了,除非你告诉它。您可以使用$apply

来实现

试试这个:

angular.element($('button.pull-right')).scope().$apply(function() {
    angular.element($('button.pull-right')).scope().forward();
});