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.');
})