Angularjs服务未定义

时间:2016-10-26 18:41:03

标签: angularjs

尝试使用我的控制器运行服务。

    controllers.controller('test', function($scope, MathService) {
    $scope.test = Mathservice.add();
  });

controllers.service('MathService', function(){
 this.add = function() {
 var a = 1;
 var b = 2;
 var c = a + b;
 return c;
 };
});

控制台说Mathservice没有定义。这有什么不对?

2 个答案:

答案 0 :(得分:0)

您的服务被称为MathService而不是Mathservice,请注意,javascript区分大小写,因此MathService上的服务一词必须大写如下:

$scope.test = MathService.add();

答案 1 :(得分:-1)

您的控制器存在问题,您将服务称为Mathservice,要么将服务更改为 Mathservice ,要么将控制器更改为 MathService < /强>

var app = angular.module('plunker', []);
app.controller('controllertest', ['$scope', 'Mathservice', function($scope, Mathservice) {
  $scope.test = Mathservice.add();
}]);
app.service('Mathservice', function() {
  this.add = function() {
    var a = 1;
    var b = 2;
    var c = a + b;
    return c;
  };
})

<强> DEMO