簡體   English   中英

Angular.provider未知

[英]Angular.provider Unknown

您好,我在嘗試解析"unknown provider"遇到了一些麻煩,我共享一些代碼,以便您可以幫助我找出問題所在:

angular
   .module('ngNewDrupal', ['ng', 'ngResource'])
   .provider('$newDrupal', function() {
     var provider = this;
     this.defaults = { [...] 
     };
     this.$get = ['$log', '$resource', function ($log, $resource) {
       var forEach = angular.forEach;
       function getResource(name, params) {
         /*switch (name) {
         }*/
       }
       function getRoute(url) {
         return provider.defaults.host + url;
       }
       var NewDrupal = function () {
       };
       [...]
       return NewDrupal;
    }];
  });
})(window, window.angular);

在index.module.js中,我將ngNewDrupal添加到

angular
    .module('app', [

例如,放入我的xxx.components.js

angular
  .module('app')
  .component('rendition', rendition());
  function rendition() {
    return {
      templateUrl: 'app/components/rendition/rendition.html',
      controller: renditionController,
      controllerAs: 'rd'
    };
    function renditionController($log, $newDrupal, $stateParams, $http) {
      var rd = this;
      var Drupal = new $newDrupal();

最后,我通過“ xxx.config.js”向$ newDrupal添加了一些操作,例如

angular
  .module('app')
  .config(config);
  function config($newDrupal) {
  $newDrupal.defaults.actions.getMyPublication = {
    webservice: { url: '/export_rest/my_publication' },
    type: 'GET',
    params: {
      _format: 'json',
      cache: true,
      isArray: true
    }
  };

但是它發送我:

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:unpr] Unknown provider: $newDrupal
http://errors.angularjs.org/1.5.8/$injector/unpr?p0=%24newDrupal
    at http://192.168.50.100:3000/bower_components/angular/angular.js:68:12
    at http://192.168.50.100:3000/bower_components/angular/angular.js:4511:19
    at getService (http://192.168.50.100:3000/bower_components/angular/angular.js:4664:39)
    at injectionArgs (http://192.168.50.100:3000/bower_components/angular/angular.js:4688:58)
    at Object.invoke (http://192.168.50.100:3000/bower_components/angular/angular.js:4710:18)
    at runInvokeQueue (http://192.168.50.100:3000/bower_components/angular/angular.js:4611:35)
    at http://192.168.50.100:3000/bower_components/angular/angular.js:4620:11
    at forEach (http://192.168.50.100:3000/bower_components/angular/angular.js:321:20)
    at loadModules (http://192.168.50.100:3000/bower_components/angular/angular.js:4601:5)
    at createInjector (http://192.168.50.100:3000/bower_components/angular/angular.js:4523:19)
http://errors.angularjs.org/1.5.8/$injector/modulerr?p0=app&p1=Error%3A%20%…92.168.50.100%3A3000%2Fbower_components%2Fangular%2Fangular.js%3A4523%3A19)
    at http://192.168.50.100:3000/bower_components/angular/angular.js:68:12
    at http://192.168.50.100:3000/bower_components/angular/angular.js:4511:19
    at getService (http://192.168.50.100:3000/bower_components/angular/angular.js:4664:39)
    at injectionArgs (http://192.168.50.100:3000/bower_components/angular/angular.js:4688:58)
    at Object.invoke (http://192.168.50.100:3000/bower_components/angular/angular.js:4710:18)
    at runInvokeQueue (http://192.168.50.100:3000/bower_components/angular/angular.js:4611:35)
    at http://192.168.50.100:3000/bower_components/angular/angular.js:4620:11
    at forEach (http://192.168.50.100:3000/bower_components/angular/angular.js:321:20)
    at loadModules (http://192.168.50.100:3000/bower_components/angular/angular.js:4601:5)
    at createInjector (http://192.168.50.100:3000/bower_components/angular/angular.js:4523:19)
http://errors.angularjs.org/1.5.8/$injector/modulerr?p0=app&p1=Error%3A%20%…92.168.50.100%3A3000%2Fbower_components%2Fangular%2Fangular.js%3A4523%3A19)
    at http://192.168.50.100:3000/bower_components/angular/angular.js:68:12
    at http://192.168.50.100:3000/bower_components/angular/angular.js:4640:15
    at forEach (http://192.168.50.100:3000/bower_components/angular/angular.js:321:20)
    at loadModules (http://192.168.50.100:3000/bower_components/angular/angular.js:4601:5)
    at createInjector (http://192.168.50.100:3000/bower_components/angular/angular.js:4523:19)
    at doBootstrap (http://192.168.50.100:3000/bower_components/angular/angular.js:1758:20)
    at bootstrap (http://192.168.50.100:3000/bower_components/angular/angular.js:1779:12)
    at angularInit (http://192.168.50.100:3000/bower_components/angular/angular.js:1664:5)
    at HTMLDocument.<anonymous> (http://192.168.50.100:3000/bower_components/angular/angular.js:31763:5)
    at fire (http://192.168.50.100:3000/bower_components/jquery/dist/jquery.js:3187:31)

我沒有找到需要修改的內容以及在哪里。

正確的答案是改變

function config($newDrupal)

進入

每個xxx.config.js文件中的function config($newDrupalProvider)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM