不是 AngularJs 中的函数错误

Not a Function Error in AngularJs

每当我尝试向我的控制器和服务添加 "new" 函数时,我都会收到此错误: 错误:[$injector:unpr] 未知提供者:companyServiceProvider <- companyService <- CompanyController

我尝试了几次该函数的某些部分,然后它奇迹般地开始工作(最后一次我所做的只是更改函数的名称)。一定有办法防止这种情况发生,但我这辈子都想不出来。

这是我的控制器代码片段:

myApp.controller("CompanyController",  function($scope, $timeout, companyService){

    $scope.SelectedCompanyId = '';
    $scope.form = {};
    $scope.lastState = true;
    pass = 0;
    $scope.addedStates = [];
    getCompanies();
    function getCompanies() {
        companyService.getCompanies()
            .success(function (data) {
                $scope.companies = data;
            })
         .error(function (error) {
             $scope.status = 'Unable to load customer data: ' + error.message;
         });
    };

    getModules();
    function getModules() {
        companyService.getModules()
        .success(function (data) {
            $scope.modules = data;
        })
        .error(function (error) {
            $scope.status = 'Unable to load Dashboard Modules: ' + error.message;
        });
    };
        getModuleColors();
    function getModuleColors() {
        companyService.getModuleColors()
        .success(function (data) {
            $scope.colors = data;
        })
        .error(function (error) {
            $scope.status = 'Unable to load Dashboard Modules: ' + error.message;
        });
    };

这是我的服务片段:

angular.module('dashboardManagement')
.service('companyService'(), [
'$http', function ($http) {
    //this.selectedCompanyId = null;
    this.getCompanies = function () {
        return $http.get('/Home/GetAllCompanies');
    };
    this.getModules = function () {
        return $http.get('/Home/GetDashboardModules');
    };

    this.getModuleColors = function () {
        return $http.get('/Home/GetModuleColors');
    };
    this.getCurrentModules = function (companyId) {
        //this.selectedCompanyId = companyId;
        return $http.get('/Home/GetCurrentModules?companyId=' + companyId);

    };

现在抛出错误的函数是 "getModuleColors" 函数,因为它是最后添加的函数。

其他功能正常。有人可以告诉我这是怎么回事吗?

非常感谢任何帮助。

这是你的代码:

https://jsfiddle.net/afv4t8h2/1/

您需要将服务脚本放在控制器脚本之前,并且您的代码有一个小错误:

<li ng-repeat="region in serviceRegions">{{region.}}</li>

这是一个未结束的 angular 表达式...正确为 {{ region }}