未知提供者:$ scopeProvider

问题描述 投票:0回答:1

我正在开发有角度的JS应用程序以制作Banking App,但是我被困在测试用例给出错误且找不到控制器的地方。我不知道我要去哪里错了,任何帮助都可以申请'

app.js

(function() {
    'use strict';

    // CONTROLLERS
    angular
        .module('abcbankApp.controllers', []);

    // SERVICES
    angular
        .module('abcbankApp.services', []);

    angular
        .module('abcbankApp', ['ui.router', 'ui.grid', 'abcbankApp.accountSummary', 'abcbankApp.transaction', 'abcbankApp.login'])
        .config(routeConfig);


    function routeConfig($stateProvider,$urlRouterProvider) {
       $urlRouterProvider.when("", "/login");

       $urlRouterProvider.when("", "/login");
        // ROUTES
        // Please use State provoders for routing between login,accountSummary, transactions and search
        // define  $stateProvider(state) with url,templateUrl,controllers and controllerAs
         $stateProvider
          .state("accountSummary", {
            url: "/accountSummary",
            templateUrl: "./templates/account-summary/account-summary.html",
            controller : "AccountSummaryController",
            controllerAs :"ActSumCtrl",
        })
        .state("login", {
            url: "/login",
            templateUrl: "./templates/login/login.view.html",
            controller :"LoginController",
            controllerAs :"LoginCtrl",
        })
}

})();

AccountSummaryController.js

(function() {
    'use strict';
   var appContr = angular.module('abcbankApp.accountSummary', ['abcbankApp.accountSummaryService']);
    appContr.controller('AccountSummaryController', function($scope,AccountSummaryService,$state) {
    var ActSumCtrl = this;
    ActSumCtrl.accountList = [];
    ActSumCtrl.accountList = AccountSummaryService.getAccountSummary();
    });

})();

Acoount service.js

(function() {
    'use strict';

     var appServc = angular.module('abcbankApp.accountSummaryService', []);
appServc.factory('AccountSummaryService', ['$http',
  function($http) {
    return {
      getAccountSummary: function() {
          var data;
          $http.get('./data/account-summary.json')
         .success(function(response) {
           data = response.data;
        });
        return data;
      }
    };
  }]);

})();

但是我遇到这样的错误

 Executed 0 of 12 SUCCESS (0 secs / 0 secs)

[1A[2KNode.js (linux; U; rv:v8.15.1) abcbankApp.accsummary module AccountSummaryController Controller definition FAILED

    Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- AccountSummaryController
javascript angularjs angularjs-directive angular-ui-router
1个回答
0
投票

根据文档-https://docs.angularjs.org/guide/controller,控制器的第二个参数是array

appContr.controller('AccountSummaryController', [$scope, function($scope,AccountSummaryService,$state) {
    // code
}]);
© www.soinside.com 2019 - 2024. All rights reserved.