Stateprovider не работает при переключении страниц

В моей программе я хочу загрузить html-страницу programsetup после нажатия кнопки входа на странице входа.

Функция myconfig для страниц входа в систему выглядит следующим образом

 .config(function config($stateProvider) {
$stateProvider.state('login', {
    url: '/login',
    views: {
        "main": {
            controller: 'LoginCtrl',
            templateUrl: 'login/login.tpl.html'
        }
    },
    data: {
        pageTitle: 'Login'
    }
    });
 })

страница входа успешно загружена! но страница настройки программы не загружается после нажатия на кнопку входа

$location.href = "#/programsetup";

это строка, которую я использовал в своем логине.js для загрузки страницы настройки программы. Моя функция конфигурации programsetup:

  .config(function config($stateProvider) {
    $stateProvider.state('programsetup', {
    url: '/programsetup',
    views: {
        "main": {
            controller: 'ProgramSetupCtrl',
            templateUrl: 'programsetup/programsetup.tpl.html'
        }
    },
    data: {
        pageTitle: 'Program Setup'
    }
   });
 })

какую ошибку я делаю? пожалуйста, помогите мне.

2 ответа

В вашем файле login.js (внутри контроллера входа в систему) вам нужно написать метод ng-click и добавить следующий код

$state.go("programsetup");

И $state нужно добавить внедрение зависимости в ваш контроллер

Просто настройте ваше состояние для установки программ в корневом каталоге.config. Тогда для кнопки логин. пользователь $state.go('programsetup') перейти на эту страницу.

Грубый HTML:

<button class="button button-positive" ng-click="login()">Go Programsetup</button>

Затем в конфиге и контроллере.

.config(function config($stateProvider) {
         $stateProvider.state('login', {
             url: '/login',
             views: {
                 "main": {
                     controller: 'LoginCtrl',
                     templateUrl: 'login/login.tpl.html'
                 }
             },
             data: {
                 pageTitle: 'Login'
             }
         });

         $stateProvider.state('programsetup', {
             url: '/programsetup',
             views: {
                 "main": {
                     controller: 'ProgramSetupCtrl',
                     templateUrl: 'programsetup/programsetup.tpl.html'
                 }
             },
             data: {
                 pageTitle: 'Program Setup'
             }
         });
     })


     .controller('LoginCtrl', function($scope, $state) {
             $scope.login = function() {
                 $state.go('programsetup');
             }

         })
         .controller('ProgramSetupCtrl', function($scope) {
             alert('i am at Program setup page.');
         })
Другие вопросы по тегам