2016-11-03 60 views
0

我有这个app.js文件

angular.module('myApp', [ 
 
    'myApp.version', 
 
    'ui.router' 
 
]). 
 
config(['$locationProvider','$urlRouterProvider','$stateProvider', function($locationProvider,$stateProvider, $urlRouterProvider, $httpProvider) { 
 

 
    $urlRouterProvider.otherwise('/view1'); 
 
     
 

 
    $stateProvider 
 
     .state('view1', { 
 
     url: '/view1', 
 
     templateUrl: 'partials/view1.html' 
 
     //controller: 'view1.MainController' 
 
     }) 
 
     .state('view2', { 
 
     url: '/view2', 
 
     templateUrl: 'partials/view2.html' 
 
     }) 
 

 
     .state('view3', { 
 
     url: '/view3', 
 
     templateUrl: 'partials/view3.html' 
 
     }) 
 

 
     .state('view4', { 
 
     url: '/view4', 
 
     templateUrl: 'partials/view4.html' 
 
     }); 
 
}]);

我已经包含了 “https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js” CDN在我的index.html文件,它是越来越装好。

但即使它被装载在控制台给人一个错误

无法实例化模块对myApp由于: 类型错误:$ urlRouterProvider.otherwise不是一个函数

我试图消除这行,然后测试代码,但后来它给

无法实例化模块对myApp由于: 类型错误:$ stateProvider.state不是一个函数

我已经经历了多次代码,但我无法识别错误/错误。

(角版本是1.5.8和角度的UI路由器的版本是0.3.1,如果这能帮助)

请帮助!

+0

你见过[this](http://stackoverflow.com/questions/16793724/otherwise-on-stateprovider)吗? – heringer

+0

@heringer是啊我已经看到这篇文章..我试过$ urlRouterProvider.otherwise(“/”)..仍然是相同的错误..我认为这与我包括角-UI路由器有关。 .i不认为它被包含在app.js文件中的依赖关系中 –

回答

1

您反转了参数:urlRouterProvider和stateProvider。

错误的顺序:

config(['$locationProvider', '$stateProvider', '$urlRouterProvider', function($locationProvider, $urlRouterProvider,$stateProvider, $httpProvider) { 

正确的顺序:

config(['$locationProvider','$urlRouterProvider','$stateProvider', function($locationProvider, $urlRouterProvider,$stateProvider, $httpProvider) { 

您使用的技术,以避免微小问题,但“弦-名”的顺序必须是相同的函数参数的顺序。

我敢打赌,你知道这一点,只是错误键入。

+0

我多么愚蠢的忘记了这一点,我花了数小时试图找出错误..:/ –

+0

我知道这种感觉,我一直在那里很多次:) – heringer