angularjs - 错误:[$injector:unpr] 未知提供者:nxProvider <- nx <- adminController
问题描述
我正在开发 AngularJS (v1.6) 应用程序,但出现以下错误。我尝试按照建议的链接(https://code.angularjs.org/1.6.5/docs/error/$injector/unpr?p0=nxProvider%20%3C-%20nx%20%3C-%20adminController ) 但它没有用。
angular.js:14642 Error: [$injector:unpr] Unknown provider: nxProvider <- nx <- adminController
http://errors.angularjs.org/1.6.5/$injector/unpr?p0=nxProvider%20%3C-%20nx%20%3C-%20adminController
at angular.js:116
at angular.js:4826
at Object.getService [as get] (angular.js:4981)
at angular.js:4831
at getService (angular.js:4981)
at injectionArgs (angular.js:5006)
at Object.instantiate (angular.js:5052)
at $controller (angular.js:10975)
at Object.<anonymous> (angular-ui-router.js:4203)
at angular.js:1385 "<div ui-view="" class="ng-scope">"
如果我删除nx
注入器,那么它会给出与http
提供程序相关的错误。Error: [$injector:unpr] Unknown provider: httpProvider <- http <- adminService
这是我的admin.controller.js
代码:
(function () {
'use strict';
angular.module('app').controller('adminController', adminController);
adminController.$inject = ['$http', 'nx', '$q', '$rootScope', '$scope', 'adminService', '$state'];
function adminController($http, nx, $q, $rootScope, $scope, adminService) {
/** code here **/
}
})();
如下admin.service.js
:
(function () {
'use strict';
angular.module('app').factory('adminService', adminService);
adminService.$inject = ['http', 'enums', '$state'];
function adminService(http, enums, $state) {
function get(req) {
var request = {
url: req.url,
params: req.params || ''
};
return http.get(request).then(function (success) {
return success;
}, function (error) {
if (error.status === -1) {
location.href = MyappURL;
}
console.log(error);
// $state.go("auth.sessionExpired");
return error;
});
};
function post(req) {
var request = {
url: req.url,
params: req.params
};
return http.post(request).then(function (success) {
return success;
}, function (error) {
// $state.go("auth.sessionExpired");
return error;
});
};
return {
get: get,
post: post
}
};
})();
提前致谢!
解决方案
您nx
在这里缺少令牌注入:
adminService.$inject = ['http', 'enums', '$state'];
改成:
adminService.$inject = ['nx', 'http', 'enums', '$state'];
推荐阅读
- python-3.x - 使用python在文本文件中列出超出范围的索引
- reactjs - 监听 useState 默认值事件
- java - 使用 Java 通过 HTTP 流式传输数据
- python-3.x - 有没有办法解决 If than 语句错误
- python - 流利的Python书,例子2.15
- angular - 想要获取用户从 ngxdaterangepicker 的日历中选择的开始和结束日期。还有中间的日期
- javascript - 转换 jQuery 和 vanilla js
- java - Thread.isAlive() 检查后 Thread.start() 抛出异常
- lean - TPIL 4.4:示例:¬ (∃ x, ¬ px) → (∀ x, px)
- python-3.x - 使用 tensorflow.add 时的神秘错误