在Angular中运行ng-change中的Javascript函数

Running Javascript function from ng-change in Angular

本文关键字:中的 Javascript 函数 ng-change 运行 Angular      更新时间:2023-09-26

我没有创建控制器,因为我只是使用具有真值的基本复选框。但是,我想从ng-change调用Jquery函数。

这就是我拥有的:

Agree to terms:  <input type="checkbox" ng-model="terms"
ng-init="terms='Please Accept'" ng-change="termShow()"><br/>
##JQuery Function
function modShow()
{
    $('#smallModal').modal('show');
}

Angular有可能这样工作吗?

ng-change="termShow()"

AngularJS将尝试在当前作用域上下文中调用函数termShow。如果这个函数在那里不存在,Angular就会进入父作用域,直到rootScope,并在每个作用域中寻找这个函数。因此,最简单的解决方案是创建一个小控制器,它创建一个新的作用域并包含这个函数。

除了Armin的答案,你可能不得不使用angularui项目的$modal服务(以确保你的表达式编译,不会显示为{{exp}})。他们在实现服务方面做得很好,使用他们的服务比编写自己的指令/服务更容易(相信我,我已经尝试过了:D)