我正在开发一种可以自动填写表单的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上搜索,但没有一个能为我效劳。请帮助!
答案 0 :(得分:0)
当你从它的上下文之外进入Angular时,它不会注意到你已经这样做了,除非你告诉它。您可以使用$apply
。
试试这个:
angular.element($('button.pull-right')).scope().$apply(function() {
angular.element($('button.pull-right')).scope().forward();
});