2017-01-29 7 views
2

У меня есть проблема с мигрирующими из ngroute в ui.router:мигрируют из ngRoute в ui.router

с использованием ngroute у меня есть пара угловых файлов:

module.js

angular.module('betTogether', ['ngRoute']); 

маршрут .js

angular.module('betTogether').config(['$routeProvider', 
    function (
     $routeProvider 
    ) { 
      $routeProvider. 
       when('/descriptionBets', { 
        templateUrl: 'descriptionBets', 
        controller: 'descriptionBetsCtrl' 
       }). 
       when('/normalBets', { 
        templateUrl: 'normal', 
        controller: 'normalBetsCtrl' 
       }). 
       when('/addBet', { 
        templateUrl: 'addBet', 
        controller: 'addBetCtrl' 
       }). 
       otherwise({ 
        redirectTo: '/descriptionBets' 
       }); 
}]); 

normalBets.js

angular.module('betTogether').controller('normalBetsCtrl', [ 
'$scope','$http', 

function($scope,$http){ 

    $scope.typeBetsImages = [{link: "images/basketball.png", title:"basketball"}, 
       {link: "images/tenis.png", title: "tenis"}, 
       {link: "images/volleyball.png", title: "volleyball"}, 
       {link: "images/football.png", title:"football"} 
    ]; 

    $http.get("/normalBets").success(function(data){ 
     $scope.normalBets = data; 
    }); 

}]); 

... и остальные контроллеры. И все работает нормально. Теперь я хочу перейти на ui-router. поэтому я изменить module.js и route.js так:

module.js

angular.module('betTogether', ['ui.router']); 

route.js

angular.module('betTogether').config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider){ 
       // For any unmatched url, send to /business 
       $urlRouterProvider.otherwise("/descriptionBets") 

       $stateProvider 
         .state('descriptionBets', {//State demonstrating Nested views 
          url: "/descriptionBets", 
          templateUrl: "descriptionBets", 
          controller: "descriptionBetsCtrl" 
         }) 
         .state('normalBets', {//nested state [products is the nested state of business state] 
          url: "/normalBets", 
          templateUrl: "normal", 
          controller: "normalBetsCtrl" 
         }) 
         .state('addBet', {//nested state [services is the nested state of business state] 
          url: "/addBet", 
          templateUrl: "addBet", 
          controller: "addBetCtrl" 
         }); 

      }]); 

и он не работает. i есть ошибка:

Error: [$injector:nomod] http://errors.angularjs.org/1.3.10/$injector/nomod?p0=betTogether angular.min.js:6:417 

... и это для 1-й линии каждого контроллера.

Кто-то может мне помочь?

PS: извините за мой английский, надеюсь, вы все понимаете.

ответ

3

Оформить заказ вашего <script> импорта в index.html. Вероятность заключается в том, что вы включили модуль ui-router после вашего модуля betTogether, тогда как он должен быть до него, потому что betTogether зависит от ui.router.

+1

Я поставил угловые и ui-router скрипты в начале моего импорта - он работает. Итак, спасибо большое :) –