当调用这样的函数时:
HTML:
<select ng-model="var" ng-change="myFunction(var)">
<option ng-repeat="option in alloptions">{{option}}</option>
</select>
JS:
$scope.myFunction = function(){//do things}
一切都运行良好,但是当我的函数位于服务内(可以通过 Controller 访问)时,该函数不会被调用。通过将服务名称作为前缀来调用它也不是一个选项(即使这在 javascript 代码本身中工作)myService.myFunction(var)
所以我的问题:当服务位于服务中时,在 ng-change 中调用服务的正确方法是什么?
提前致谢
最佳答案
您需要通过作用域使用函数来调用服务函数。因此,在您的示例中,您可以在范围的 myfunction 方法内调用服务方法,前提是将您的服务注入(inject)到 Controller 中。
$scope.myFunction = function(var){
myService.myFunction(var);
}
请始终记住,只有 $scope 中定义的属性在 UI 中可用,而在您的服务中则不可用。
关于javascript - 如何在 AngularJS ng-click(或 ng-change,...)中调用服务函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20054028/