source

AngularJS - 컨트롤러 내부에서 상태를 변경하는 방법

nicesource 2023. 2. 14. 21:30
반응형

AngularJS - 컨트롤러 내부에서 상태를 변경하는 방법

Angular는 처음입니다.JS 및 컨트롤러 내에서 상태를 어떻게 변경하는지 알고 싶습니다.

예를 들어, 보통 버튼을 클릭할 때 상태를 변경합니다.

<input type="submit" class="btn btn-lg btn-primary btn-block" value="Log In" ui-sref="main.navigation"/>

따라서 버튼을 제출하면 내 페이지가 네비게이션 페이지로 바뀝니다.이것은 정상적으로 동작합니다만, 우선 컨트롤러로 로직을 실행하고, 그 결과를 바탕으로 특정의 페이지로 변경해 주세요.버튼 클릭이 아닌 컨트롤러 내에서 이를 수행하려면 어떻게 해야 합니까?

궁금하실 경우를 대비해서 modules.js를 소개합니다.

angular.module('ecsMain', [
    'ui.router',
    'ui.bootstrap',
    'ngTable'
])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('main/login');

    $stateProvider
        .state('main', {
            abstract: true,
            url: '',
            templateUrl: 'view/main.html'
        })
        .state('main.login', {
            url: '',
            controller: ECSMainController,
            templateUrl: 'view/login.html'
        })
        .state('main.phoneCalls', {
            url: '',
            controller: AccordionDemoCtrl,
            templateUrl: 'view/phoneCalls.html'
        })
        .state('main.navigation', {
            url: '',
            controller: ModalDemoCtrl,
            templateUrl: 'view/navigation.html'
        })
        .state('main.myModalContent', {
            url: '',
            controller: ModalDemoCtrl,
            templateUrl: 'view/myModalContent.html'
        })
        .state('main.alertMessage', {
            url: '',
            controller: ModalDemoCtrl,
            templateUrl: 'view/alertMessage.html'
        })
}]);

감사해요.

주입하다$state컨트롤러에 서비스를 제공하고 컨트롤러에 서비스를 제공합니다.

제어 장치

$scope.changeState = function () {
    $state.go('where.ever.you.want.to.go', {stateParamKey: exampleParam});
};

추가하다ng-click원하는 대로

HTML

<button ng-click="changeState()">Change State</button>

언급URL : https://stackoverflow.com/questions/22569070/angularjs-how-do-i-change-the-state-from-inside-the-controller

반응형