Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS未知提供程序:$routeProviderProvider_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS未知提供程序:$routeProviderProvider

Javascript AngularJS未知提供程序:$routeProviderProvider,javascript,angularjs,Javascript,Angularjs,我正在与这个未知的提供者错误作斗争,只是想知道我做错了什么。具有以下结构: 在main.js中 'use strict'; angular.module('myApp') .controller('MainCtrl', ['navService', function (navService) { this.awesomeThings = [ 'HTML5 Boilerplate', 'AngularJS', 'Karma' ]; this.active

我正在与这个未知的提供者错误作斗争,只是想知道我做错了什么。具有以下结构:

在main.js中

'use strict';

angular.module('myApp')
  .controller('MainCtrl', ['navService', function (navService) {
    this.awesomeThings = [
    'HTML5 Boilerplate',
    'AngularJS',
    'Karma'
];

  this.active = false;

  navService.getPosition();

}]);
在索引html中,我有ng controller=“MainCtrl” 最后在海军服役:

angular.module('myApp')
.factory('navService', ['$routeProvider', '$location', function ($routeProvider, $location) {
    function getPosition() {
        /*code here */
    }

    return {
        getPosition: getPosition
    };
}]);
在main app.js中

angular
  .module('cavyrApp', [
'ngAnimate',
'ngCookies',
'ngMessages',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch'
  ]).config...........

你应该像这样注入你的事实:

angular.module('myApp',['ngRoute']); //route inject
以及控制器:

angular.module('myApp').controller('MainCtrl',  function(navService) {
});

你应该像这样注入你的事实:

angular.module('myApp',['ngRoute']); //route inject
以及控制器:

angular.module('myApp').controller('MainCtrl',  function(navService) {
});

$routeProvider
是一个提供者-您不能将其注入工厂/服务。您只能将其注入
config
方法-配置它将提供的服务:

module.config(function($routeProvider) {
    // configure the routes here
});

$routeProvider
是一个提供者-您不能将其注入工厂/服务。您只能将其注入
config
方法-配置它将提供的服务:

module.config(function($routeProvider) {
    // configure the routes here
});

您是否将angular-route.js包含在头部区域?此外,您是否将
ngRoute
插入主应用程序模块声明中?@SankarRaj-是的-两者都存在,控制台中一定存在其他错误,因为如果您正确配置了所有内容,则不应该出现未知的提供程序错误。如果您正在使用Angular的缩小版本,请在开发和调试时使用完整版本,以便获得更详细的错误消息。根据您提供给我们的帮助,我认为我们无法帮助解决您的问题。控制台中的错误只有一个:错误:[$injector:unpr]未知提供程序:$routeProviderProvider:您的头部部分是否包含angle-route.js?另外,您是否将
ngRoute
插入到主应用程序模块声明中?@SankarRaj-是的-两者都存在,控制台中一定存在其他错误,因为如果您正确配置了所有内容,则不应该出现未知的提供程序错误。如果您正在使用Angular的缩小版本,请在开发和调试时使用完整版本,以便获得更详细的错误消息。根据您提供给我们的帮助,我认为我们无法帮助解决您的问题。控制台中的错误只有一个:错误:[$injector:unpr]未知提供程序:[$injector:unpr]未知提供程序:$routeProviderProvider,而不是删除注入注释(如果缩小,将导致代码中断)这正是OP使用工厂的方式。不幸的是,这种方式不起作用。我按照您的建议删除了第二个参数数组。除了删除注入注释(如果它被缩小,将导致代码中断)之外,这正是OP使用工厂的方式。不幸的是,这种方式不起作用。我按照你的建议删除了第二个参数数组。是的,就是这样!非常感谢-我被这个错误弄糊涂了,因为它说没有导航服务,但很明显,真正的原因是你说的错误注入。是的-就是这样!非常感谢-我无意中听到了错误,因为它说没有导航服务,但很明显,真正的原因是你说的错误注入。