У меня есть ошибка [$injector:unpr]
в моем приложении AngularJS
.
Я посмотрел на ссылку, которую эта ошибка дает мне, чтобы исправить эту проблему, к сожалению, она ничего не изменила. Поэтому я надеялся, что вы, ребята, сможете увидеть, что я сделал неправильно.
Сначала ошибка с моей консоли браузера
Error: [$injector:unpr] http://errors.angularjs.org/1.4.7/$injector/unpr?p0=configProvider%20%3C-%20config%20%3C-%20navController
at Error (native)
at http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:6:416
at http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:40:409
at Object.d [as get] (http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:38:394)
at http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:40:483
at d (http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:38:394)
at Object.e [as invoke] (http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:39:161)
at P.instance (http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:80:207)
at K (http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:61:190)
at g (http://localhost:8080/simplanner/lib/Angular-1.4.7/angular.min.js:54:410)
(anonymous function) @ angular.min.js:107
(anonymous function) @ angular.min.js:80
n.$apply @ angular.min.js:133
(anonymous function) @ angular.min.js:20
e @ angular.min.js:39d @ angular.min.js:19
zc @ angular.min.js:20Zd @ angular.min.js:19
(anonymous function) @ angular.min.js:293
a @ angular.min.js:174Hf.c @ angular.min.js:35
Тогда, конечно, мой угловой код
var config = {
...
};
var app = angular.module('SimPlannerApp', [
'ui.router',
'ui.bootstrap'
]);
app.filter('capitalize', function () {
...
})
.filter('datetime', function ($filter) {
...
});
app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
var urlBase = '/' + config.IISProjectName + '/';
$stateProvider
.state('login', {
url: "/login",
templateUrl: urlBase + 'views/login.html',
controller: 'loginController'
})
.state('view', {
url: '/view/:view',
templateUrl: urlBase + 'views/view.html',
controller: 'viewController',
resolve: {
view: function ($stateParams) {
...
}
}
})
.state('404', {
url: '{path:.*}',
templateUrl: urlBase + '/views/404.html',
controller: 'errorController'
});
});
app.factory('sharedProperties', function () {
...
});
app.factory('socketService', function () {
...
});
app.controller('errorController', ['$scope', function ($scope) {
...
}]);
app.controller('loginController', ['$scope', '$location', 'socketService', 'sharedProperties', function ($scope, $location, socketService, sharedProperties) {
...
}]);
app.controller('navController', ['$scope', 'config', 'sharedProperties', function ($scope, config, sharedProperties) {
...
}]);
app.controller('viewController', ['$scope', '$state', '$interval', 'view', 'socketService', function ($scope, $state, $interval, view, socketService) {
...
}]);
Похоже, что у вас нет провайдера, называемого config
, чтобы вводить его в контроллер,
app.controller('navController', ['$scope', 'config', 'sharedProperties', function ($scope, config, sharedProperties) {
удалите config
будет введена, и она будет работать. в виде,
app.controller('navController', ['$scope', 'sharedProperties', function ($scope, sharedProperties) {
или вам нужно определить поставщика под названием config
.
Если вы ожидаете, что var config
собирается впрыснуть в контроллер, на самом деле он не собирается вводить. Вам нужно что-то типа поставщика, чтобы вводить как service
, factory
, value
...