2016-08-15 69 views
1

我想在我的控制器(速率控制器)中使用服务(费率服务)并获得“错误:未知提供者”。有没有人有任何建议如何解决这个问题?干杯!当在控制器中使用服务时使用Angular ui路由器时出现“未知提供者”错误

rates.contoller.js

(function() { 
'use strict'; 

angular.module('print.module').controller('ratesCtrl', ['$http', '$scope', '$rootScope', 'ratesService', function ($http, $scope, $rootScope, ratesService) { 
    ratesService.getRatesDataService(); 
}] 
)})(); 

rates.service.js

(function() { 
'use strict'; 

angular.module('print.module').service('ratesService', ['$scope', '$http', function ($scope, $http) { 
    vm = this; 

    function getRatesDataService() { 
     console.log("test"); 
     return this.$http.get("api/Rates/GetRates"); 
    } 

    //} 
}] 
) 
})(); 

print.module.js

(function() { 
"use strict"; 

var module = angular.module('print.module', [ 
    'ui.router', 
]); 
module.config(function ($stateProvider, $urlRouterProvider, $locationProvider) { 
    $urlRouterProvider.otherwise('/print'); 
    $stateProvider 
     .state('print', { 
      url: '/print', 
      templateUrl: "Public/scripts/sharedViews/printNavbar.html" 

     }) 
     .state('print.rates', { 
      url: "/rates", 
      controller: 'ratesCtrl', 
      templateUrl: "Public/scripts/rates/rates.view.html", 
      controllerAs: 'vm' 
     }) 

    $locationProvider.html5Mode(true); 
}); 

}()); 

视图(仅供参考脚本标签)

<body ng-app="print.module"> 
<div ui-view></div> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js"></script>    
    <script type="text/javascript" src="~/public/scripts/print.module.js"></script> 
    <script type="text/javascript" src="~/public/scripts/books/books.controller.js"></script> 
    <script type="text/javascript" src="~/public/scripts/terms/terms.controller.js"></script> 
    <script type="text/javascript" src="~/public/scripts/rates/rates.service.js"></script> 
    <script type="text/javascript" src="~/public/scripts/rates/rates.controller.js"></script> 
    <script type="text/javascript" src="~/public/scripts/services/modals.service.js"></script> 
</body> 

回答

3

不能使用$scope内部服务

+0

我拿出来,但遗憾的是问题依然。 – andre

+0

我认为这是一个非常基本的问题,但没有更具体的答案,因为我甚至不知道提供者的名称没有找到。您可以在错误消息之后的下一个控制台中看到此信息。 –

+0

ahh nvm,它的工作原理! noob错误。谢谢您的帮助!!! – andre

相关问题