当调用这样的函数时:
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)
myService.myFunction(var)
所以我的问题是:当位于服务中的ng-change中调用服务时,正确的方法是什么?
提前致谢
您需要使用通过作用域的函数来调用服务函数。因此,在您的示例中,只要将服务注入到控制器中,就可以在范围的myfunction方法内调用service方法。
$scope.myFunction = function(var){ myService.myFunction(var); }
始终记住,UI中只有$ scope中定义的属性可用,而服务则不可用。