Javascript 如何从控制器调用角度服务?
我有一个角度模块,代码如下:Javascript 如何从控制器调用角度服务?,javascript,angularjs,angularjs-service,Javascript,Angularjs,Angularjs Service,我有一个角度模块,代码如下: angular.module('sampleModule', []) .service('myService', [function () { this.showAlert = function () { alert("Hello"); }; this.sum = function (a, b) { return a + b; }; }]) .controller('SampleCtrl', ['
angular.module('sampleModule', [])
.service('myService', [function () {
this.showAlert = function () {
alert("Hello");
};
this.sum = function (a, b) {
return a + b;
};
}])
.controller('SampleCtrl', ['myService', '$scope', function ($scope, myService) {
this.doSum = function () {
var result = myService.sum(1, 2);
alert(result);
};
}]);
当我调用doSum时,我得到:
TypeError:myService.sum不是函数
有什么想法吗?谢谢 控制器DI错误-请注意参数的顺序:
.controller('SampleCtrl', ['$scope', 'myService', function ($scope, myService) {
this.doSum = function () {
var result = myService.sum(1, 2);
alert(result);
};
}]);
控制器DI错误-请注意参数的顺序:
.controller('SampleCtrl', ['$scope', 'myService', function ($scope, myService) {
this.doSum = function () {
var result = myService.sum(1, 2);
alert(result);
};
}]);
注射顺序不正确的问题$范围应该在myService之前
Correct code:
.controller('SampleCtrl', ['$scope', 'myService', function ($scope, myService) {
this.doSum = function () {
var result = myService.sum(1, 2);
alert(result);
};
}]);
注射顺序不正确的问题$范围应该在myService之前
Correct code:
.controller('SampleCtrl', ['$scope', 'myService', function ($scope, myService) {
this.doSum = function () {
var result = myService.sum(1, 2);
alert(result);
};
}]);
我怀疑顺序很重要,因为“myService”依赖于“$scope”,所以myService必须位于所需的$scope之后。这是否正确?我怀疑顺序很重要,因为“myService”依赖于“$scope”,所以myService必须位于所需的$scope之后。这是正确的吗?