当前位置: 首页 > 面试题库 >

如何从jquery触发ng-change?

陆文康
2023-03-14
问题内容

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

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

并且我为此使用了jQueryUI控件(组合框),则从jQuery触发的事件“更改”不会触发doSomething()。

您知道如何从外部角度触发ng-change吗?


问题答案:

糟糕-这是很糟糕的做法-但您可以使用目标控制器中驻留的元素angular.element并从中获取scope

例:

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

Javascript:

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

scope现在,您的变量可以访问myApp控制器上定义的所有方法。



 类似资料:
  • 问题内容: 我有一个在更改textarea的值时调用的函数。它很好用,除非按下空格键,然后什么也没叫。有没有办法激活它?从技术上讲,内容在变化,我希望无论如何都要调用该函数。 我在代码上摆弄小提琴。您可以看到按下空格键时,数组不会推送新的元素(也请按Enter键),但是其他非空白键都可以。 小提琴示例:http : //jsfiddle.net/UJWLN/4/ 问题答案: 您可以在输入中使用指令

  • 问题内容: 我正在使用ng-pattern来验证某些表单字段,并且正在使用ng-change来监视和处理任何更改,但是ng-change(或$ scope。$ watch)仅在form元素位于$有效状态!我对angular还是陌生的,所以我不知道如何解决这个问题,尽管我怀疑应该采用新的指令。 在ng-pattern仍然像以前一样设置表单元素状态的情况下,如何在$ invalid和$ valid表单

  • 问题内容: 我有以下创建元素的AngularJS指令。输入具有运行功能的属性。在指令的单元测试中,我想检查用户更改输入时是否调用了函数。但是测试没有通过。虽然在手动测试时可以在浏览器中使用。 指示: 测试: 实时演示(ng-change):http : //plnkr.co/edit/0yaUP6IQk7EIneRmphbW?p=preview 现在,如果我手动绑定事件而不是使用属性,则测试通过。

  • 问题内容: 输入如下: 当我手动键入并更改输入时,将执行。但是,如果我以编程方式通过其他功能更改了repair.test值,则不会触发ng- change的操作。我已经阅读了角度教程,这可能是预期的行为。 https://docs.angularjs.org/api/ng/directive/ng更改 “当值更改来自模型时,不评估表达式。” <-我也需要这个。模型以任何方式更改时,如何在控制器中触

  • 问题内容: 我使用的是ng-click,将其应用于SPAN标签时会触发两次。 HTML 控制器 它应该只发射一次。我如何找到这种情况的发生原因以及如何解决? 问题答案: 您提供的代码不会两次触发该事件: http://jsfiddle.net/kNL6E/(单击) 也许您两次包含Angular?如果执行此操作,则会收到两个警报,如下所示: http://jsfiddle.net/kNL6E/1/

  • 问题内容: 我有一个运行正常的更改事件,但需要递归进行。 因此,我有一个在更改时触发的函数,该函数将基于类选择器“更改”其他下拉菜单(注意“ drop downS”,可能有多个)。此代理更改不会触发功能,因此会失败。我如何使它工作? 码 到目前为止,这些建议似乎可行,但是由于change事件触发了ajax发布,因此现在似乎在此处失败。我将尝试使用它,但这是我感到另一个问题的东西。 问题答案: 使用