2015-11-29 2 views
1

Изначально schoolyears Состояние активно.Нажмите ссылку дважды, чтобы активировать состояние с помощью маршрутизатора ui

Когда я нажимаю на кнопку, чтобы активировать schoolyears.create состояние, я должен сделать это действие ДВАЖДЫ. Только тогда создается представление школьного возраста.

Что я не так?

index.html

// navbar removed for brevity 

<div ui-view="content" class="container body-content"> 
     CONTENT 
</div> 

app.js

'use strict'; 
angular 
    .module('TGB', ['ui.router', 'ui.bootstrap']) 

    .run(['$rootScope', '$state', '$stateParams', 
    function ($rootScope, $state, $stateParams) { 

     $rootScope.$state = $state; 
     $rootScope.$stateParams = $stateParams; 

    } 
    ]) 
    .config(function ($stateProvider, $urlRouterProvider) { 

     //localStorageServiceProvider.setPrefix('TGB'); 
     $urlRouterProvider.otherwise("schoolyears"); 
     $stateProvider 
     .state('schoolyears', { 
      url: '/schoolyears', 
      views: { 
       '[email protected]': { 
        templateUrl: "/js/schoolyears/schoolyears.html", 
        controller: 'SchoolyearsController' 
       } 
      } 
     }) 
     .state('schoolyears.selected', { 
      url: '/:id' 
     }) 
     .state('schoolyears.create', { 
      url: '/create', 
      views: { 
       '[email protected]': { 
        templateUrl: '/js/schoolyears/createSchoolyear.html', 
        controller: 'CreateSchoolyearController' 
       } 
      } 
     }) 
    }); 

SchoolyearsController.js

(function() { 
    'use strict'; 

    angular 
     .module('TGB') 
     .controller('SchoolyearsController', SchoolyearsController); 

    function SchoolyearsController($scope, $state) { 

     $scope.schoolyears = []; 
    } 
})(); 

CreateSchoolyearController.js

(function() { 
    'use strict'; 

    angular 
     .module('TGB') 
     .controller('CreateSchoolyearController', CreateSchoolyearController); 

    function CreateSchoolyearController($scope, $state) { 



    } 
})(); 
+0

Когда кручу порядок состояний schoolyears.select с schoolyears.create ТОГДА это РАБОТАЕТ! Но почему? AFAIR порядок не важен ... точечная нотация в состоянии определяет иерархию! – Pascal

ответ

0

Я бы сказал, что просто создать состояние, как показано ниже

.state('schoolyears.create', { 
     url: '/create', 
     views: { 
      '[email protected]': { 
       templateUrl: '/js/schoolyears/createSchoolyear.html', 
       controller: 'CreateSchoolyearController' 
      } 
     } 
    }) 
+0

, который не работает вообще. Каждый раз, когда я нажимал кнопку «Создать», тогда вид школьных занятий с полями datetime.now обновлялся, и я видел новое время. – Pascal