2016-11-03 3 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 из-за: TypeError: $ urlRouterProvider.otherwise не является функцией

Я попытался удалить это линии, а затем проверить код, но он дает

не удалось создать экземпляр модуля MYAPP из-за: TypeError: $ stateProvider.state не является функцией

Я прошел через код несколько раз, но я не могу определить ошибку/ошибку.

(угловая версия 1.5.8 и угловато-щ-маршрутизатор версии 0.3.1, если это помогает)

Пожалуйста, помогите!

+0

Вы видели [это] (http://stackoverflow.com/questions/16793724/otherwise-on-stateprovider)? – heringer

+0

@heringer да я видел это сообщение .. я пробовал с $ urlRouterProvider.otherwise ("/") .. по-прежнему такая же ошибка .. Я думаю, что это как-то связано с угловым ui-router, который я включаю. .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

Смежные вопросы