如何触发从jQuery的ng更改?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我有一个选择标签,如下所示:

<select ng-change="doSomething()" ng-model="myModel"> </select>

我为它使用jQueryUI控件(组合框),从jQuery触发的事件“更改”不触发doSomething()。

如何从外部angular触发ng?

提问于
用户回答回答于

可以使用angular.element并获取scope驻留在目标控制器内的元素。

例:

<div ng-controller="myApp">
    <span id="test"></span>
</div>

使用Javascript:

var scope = angular.element("#test").scope();
scope.doSomething();

用户回答回答于

问题不在于如何运行某些代码,而是如何触发更改事件。我发现了一个angular的方式来做到这一点。我有一个jQuery UI滑块,它可以改变另一个输入的值,这个输入对它有ng值的改变。办法是,一旦你把它变成一个angular.element,你现在可以访问一个名为triggerHandler的方法。

angular.element(document.getElementById('test')).triggerHandler('change');

扫码关注云+社区