如何在AngularJS ng-click或ng-change,…中调用服务函数?

问题描述

您需要使用通过作用域的函数来调用服务函数。因此,在您的示例中,只要将服务注入到控制器中,就可以在范围的myfunction方法内调用service方法。

$scope.myFunction = function(var){

   myService.myFunction(var);    
}

始终记住,UI中只有$ scope中定义的属性可用,而服务则不可用。

解决方法

当调用这样的函数时:

HTML:

<select ng-model="var" ng-change="myFunction(var)">
  <option ng-repeat="option in alloptions">{{option}}</option>
</select>

JS:

$scope.myFunction = function(){//do things}

一切正常,但是当我的功能在服务中(控制器可以访问)时,不会调用该功能。通过将服务名称作为前缀来调用它也不是一个选择(即使这在javascript代码本身中也有效)myService.myFunction(var)

所以我的问题是:当位于服务中的ng-change中调用服务时,正确的方法是什么?

提前致谢

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...