Angular 응용 프로그램에 RightSidebarLayout Page가 있으며, 간격을 setInterval
으로 설정하고 해당 함수를 호출하여 팩토리 기능에서 알림을받습니다.
문제는 사용자가 로그 아웃 한 후 지우는 것입니다. 여기
내가 시도하는 첫번째 일은 내가 일반 자바 스크립트를 사용하여setInterval
방법을 사용한다는 것입니다 내 코드
RightSidebarLayout.Controller.js
,하지만 난 내가 아니에요 왜 여기 내 질문은 ToastInterval not defined
var vm = this;
function init(){
var ToastInterval = setInterval(getAllNotifications, 9000); // when user has logged out stop my interval
}
init();
function getAllNotifications() {
// alert(commonApi.IsUserLoggedIn()) // alerts true if logged in else false //working properly
if (!IsUserLoggedIn()){
clearInterval(ToastInterval); // This shows error ToastInterval is undefined as i have defined it in parent environment
return;
}
else {
notificationService.getNoti() // Call a service and get all notification
}
}
의 오류가 발생했습니다 ToastInterval
은 lexical environment
,,,
2)로 선언되어 있습니다. 따라서 $Interval
에 의해 정의 된 내 ControllerAs
을 사용했습니다. ca llback, 그것은 나에게 오류를 준하지 않는, 여전히 작동하지 않는, 그것은 여전히
.. 여기
var vm = this;
function init(){
vm.ToastInterval = $interval(getAllNotifications, 9000); // when user has logged out stop my interval
}
init();
function getAllNotifications() {
// alert(commonApi.IsUserLoggedIn()) // alerts true if logged in else false //working properly
if (!IsUserLoggedIn()){
$interval.cancel(vm.ToastInterval);
return;
}
else {
notificationService.getNoti() // Call a service and get all notification
}
}
기능
이 간격이 내 간격이 지워지지 않습니다 경고를받을 경우에도 지워지지 않습니다 화재 무엇 내가 잘못하고있어?도와주세요,
내 어휘 환경이기도하다. 두 번째 이유는 작동하지 않는다. –
'init' 함수 내에서 정의 된대로 'ToastInterval not defined' 오류가 발생합니다. 'ToastInterval' 변수를 선언하면 변수'vm'이 선언되고 코드가 작동합니다. –
예 제 두 번째 코드는 내 VM이 전역 변수이며 작동하지 않습니다 –