使用AngularJS的多个控制器的功能

时间:2016-08-31 14:08:27

标签: angularjs angular-services

我正在尝试实现一个带有date.prototype函数的AngularJS服务,并将其传递给多个控制器。我在控制器中注入服务但由于某种原因它无法正常工作。我究竟做错了什么?感谢。

services.js:

var appStuff = angular.module('services', [])

appStuff.service ('ChronService', function () 
{

   Date.prototype.formatSubtractDate = function (x) 
   {
     var myTime = new Date();
     myTime.setFullYear(myTime.getFullYear) - x);
     return myTime;
   };
   Date.prototype.formatAddDate = function (x) 
   {
     var myTime = new Date();
     myTime.setFullYear(myTime.getFullYear) + x);
     return myTime;
   };
});

oneController.js:

angular.module('oneController', [])
.controller('oneCtrl', function ($scope, ChronService) {
    $scope.subtractYears = ChronService.Date().formatSubtractDate(4);

    if ($scope.subtractYears >= 2004) {
      console.log("right")
    }
    else 
    {
      console.log("incorrect")
    }
});

twoController.js

angular.module('oneController', [])
.controller('oneCtrl', function ($scope, ChronService) {
    $scope.addYears = ChronService.Date().formatAddDate(25);

    if ($scope.addYears < 1996) {
      console.log("right")
    }
    else 
    {
      console.log("incorrect")
    }
});

1 个答案:

答案 0 :(得分:3)

您需要将模块的依赖项添加到控制器的模块中。 angular.module('oneController',['services'])

目前您的控制器模块不知道服务的位置。