javascript - 未知提供者:$scopeProvider <- $scope <- AccountSummaryController
问题描述
我正在开发 Angular JS 应用程序来制作银行应用程序,但我被困在一个地方,我的测试用例给出了找不到控制器的错误。我不知道我哪里出错了,任何帮助都会得到帮助'
应用程序.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();
});
})();
账户服务.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
解决方案
As per documentation - https://docs.angularjs.org/guide/controller, the second parameter to an controller is an array
.
appContr.controller('AccountSummaryController', [$scope, function($scope,AccountSummaryService,$state) {
// code
}]);
推荐阅读
- javascript - 抓取 JS 渲染页面的方法?
- c++ - 如何从 C++ 设置 qml 属性
- python - TypeError:无法获取 - Google Colab
- tfs - 当您分支项目时,您可以更改流程模板吗?
- reporting-services - 在行上设置可见性时隐藏空白
- java - 如何解决 NativeScript Skidekick 中与模拟器 java 相关的错误
- java - 当输入类型与预期类型匹配时,我收到 java.util.InputMismatchException
- python - 英特尔 MKL 致命错误:无法加载 libmkl_mc3.so 或 libmkl_def.so
- ios - 区分手指触控和 Apple Pencil 触控
- python - 如何修复“从 Python 列表中打印单个数字”