-1
컨트롤러가 실행될 때마다 호출해야하는 validateSesion 함수가 있습니다.AngularJs의 모든 컨트롤러에서 함수를 호출하는 방법
모든 컨트롤러에서 함수를 호출하지 않고 함수를 트리거하는 방법이 있습니까?
컨트롤러가 실행될 때마다 호출해야하는 validateSesion 함수가 있습니다.AngularJs의 모든 컨트롤러에서 함수를 호출하는 방법
모든 컨트롤러에서 함수를 호출하지 않고 함수를 트리거하는 방법이 있습니까?
이러한 호출을 수행하는 방법은 경로 변경에 대한 이벤트 처리기를 만드는 것이 좋습니다. 이런 식으로 경로 나 상태를 변경할 때마다 (ui-router를 사용하는 경우) 코드를 실행할 수 있습니다. 아래 그림과 같이
당신은 앱의 실행 기능이를 배치하고 $ rootScope에 이벤트 핸들러를 첨부 할 것 :
angular.module('app', [
//Your Dependencies Here
]).run(init);
function init($rootScope, sessionService) {
//ngRoute
$rootScope.$on('$routeChangeStart', function (angularEvent, next, current) {
sessionService.validateSession();
});
//ui-router
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
sessionService.validateSession();
});
}
당신이 뭘하려 게시하세요? –
컨트롤러가 인스턴스화 될 때마다 함수를 호출하고 싶을 것입니까? 페이지에 여러 개의 컨트롤러가있는 것이 일반적입니다. 따라서 예상보다 많은 기능을 호출 할 수 있습니다. – Claies
사용자가 방문하는 각 새 페이지에 대해 실행할 기능이 더 많을 가능성이 큽니다. 컨트롤러가 인스턴스화 될 때마다 동일하지 않습니다. 이러한 종류의 작업은 일반적으로 사용중인 라우터에서 수행됩니다. – Claies