简体   繁体   English

使用 Angular.js 获取 [$injector:unpr] 错误

[英]Getting [$injector:unpr] error using Angular.js

I am getting this below error while click on link using Angular.js.使用 Angular.js 单击链接时出现以下错误。

Error:错误:

VM1186 angularjs.js:107 Error: [$injector:unpr] http://errors.angularjs.org/1.4.6/$injector/unpr?p0=UploadProvider%20%3C-%20Upload%20%3C-%20adminCatCategoryController
    at Error (native)
    at https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:6:416
    at https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:40:409
    at Object.d [as get] (https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:38:394)
    at https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:40:483
    at d (https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:38:394)
    at e (https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:39:161)
    at Object.instantiate (https://run.plnkr.co/8hsX4IhGSoTXwnkj/angularjs.js:39:310)

My code is below.我的代码如下。

index.html:索引.html:

<html ng-app="Spesh">

  <head>
    <link data-require="bootstrap@*" data-semver="4.0.0-alpha.2" rel="stylesheet" href="https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css" />
    <script data-require="bootstrap@*" data-semver="4.0.0-alpha.2" src="https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/js/bootstrap.js"></script>
    <script data-require="jquery@*" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
    <script src="angularjs.js" type="text/javascript"></script>
    <script src="angularuirouter.js" type="text/javascript"></script>
    <script src="angularuibootstrap.js" type="text/javascript"></script>
    <script src="loginRoute.js" type="text/javascript"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body>
    <h1>Test tab</h1>
    <div ui-view></div>
     <script src="adminController.js" type="text/javascript"></script>
     <script src="adminCategoryController.js" type="text/javascript"></script>
    <script src="adminCatCategoryController.js" type="text/javascript"></script>
    <script src="adminSubcatCategoryController.js" type="text/javascript"></script>
  </body>

</html>

loginRoute.js:登录路由.js:

var Admin = angular.module('Spesh', ['ui.router','ui.bootstrap']);
Admin.run(function($rootScope, $state) {
  $rootScope.$state = $state;
});
Admin.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
  $urlRouterProvider.otherwise('/');
  $stateProvider
    .state('/', {
      url: '/',
      templateUrl: 'dashboard.html',
      controller: 'adminController'
    })
    .state('category', { /* This state defines the department management page */
        url: '/category',
        templateUrl: 'category.html',
        controller: 'adminCategoryController'
        })

        .state('category.cat', { /* This state defines the department management page */
        url: '/manage_category',
        templateUrl: 'manage_category.html',
        controller: 'adminCatCategoryController'
        })

        .state('category.subcat', { /* This state defines the department management page */
        url: '/manage_subcategory',
        templateUrl: 'manage_subcategory.html',
        controller: 'adminSubcatCategoryController'
        })
})

dashboard.html:仪表板.html:

<nav>
  <ul>
     <li ng-class="{'active open': $state.includes('category')}"><a ui-sref="category.cat">Category</a></li>
  </ul>
</nav>

<div class="row" style="padding-top:120px;" ui-view>

</div>

Here when I am clicking on the Category link the above error is coming.在这里,当我单击“ Category链接时,会出现上述错误。 My Plunkr code is here .我的Plunkr 代码在这里 How can I resolve this error?我该如何解决这个错误?

In your plunker, the link "category/manage_category" will use the "adminCatCategoryController" controller .在您的 plunker 中,链接“category/manage_category”将使用“adminCatCategoryController”控制器。 It has some code :它有一些代码:

dashboard.controller('adminCatCategoryController',function($scope,$http,$location,$window,$state, Upload,focusInputField ){仪表板.控制器('adminCatCategoryController',function($scope,$http,$location,$window,$state, Upload,focusInputField ){
}) })

I can't find any file that define "Upload", "focusInputField" as service/factory or constant .我找不到任何将“上传”、“focusInputField”定义为 service/factory 或 constant 的文件。 So when you inject them in here, angular can't detect them and throw error.所以当你在这里注入它们时,angular 无法检测到它们并抛出错误。

Remove or defined them will resolve your problem.删除或定义它们将解决您的问题。

Hope it helpful for you !希望对你有帮助! Thanks !谢谢!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM