javascript - Ionic에서 app.js의 .run()에 전역 변수가 정의되어 있는 이유는 페이지 컨트롤러에서는 액세스할 수 있지만 새로 고침 후에는 액세스할 수 없나요?
怪我咯
怪我咯 2017-06-12 09:22:30
0
1
737

$rootScope.obj1 = {}를 사용하여 app.js의 .run() 함수에서 전역 변수를 미리 정의합니다. 프로그램을 처음 시작하면 app.js의 .controller() 함수에서 $rootScope.obj1에 액세스할 수 있습니다. 페이지. 그러나 브라우저에서 페이지를 새로 고치면 페이지의 .controller() 함수에서 액세스한 $rootScope.obj1이 정의되지 않습니다.

처음에는 새로 고침 시 app.js의 .run() 함수가 실행되지 않는 줄 알았는데, 테스트해보니 실행되는 것으로 확인되었습니다. 하지만 새로 고침 시 실행 순서는 다음과 같습니다. 먼저 페이지의 .controller() 함수를 실행한 다음 app.js에서 .config() 함수를 실행하고 app.js에서 .run() 함수를 실행합니다. 프로그램을 처음 시작할 때와는 다릅니다. 이러한 시퀀스 관계로 인해 페이지를 새로 고친 후에는 페이지의 .controller() 함수에서 미리 정의된 전역 변수에 액세스할 수 없습니다.

실례합니다. 정말 그런가요? 그렇다면 이 문제를 해결하는 방법은 무엇입니까? 미리 정의된 전역 변수는 어디에 배치해야 합니까?

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(1)
左手右手慢动作

Angular.js의 실행 순서는 대략 다음과 같습니다.

  1. app.config()

  2. app.run()

  3. 지침 편집

  4. app.controller()

  5. 명령 링크

.js의 로딩 순서 때문에 문제를 판단하기가 어렵습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿