AngularJS $ scope 변수에 액세스하려고 할 때 정의되지 않음

아담 토마 슨

AngularJS 프런트 엔드로 Electron (node.js) 앱을 작성 중입니다. OS 수준에서 실행되는 node.js와 클라이언트 수준에서 실행되는 Angular로 인해 두 사람은 IPC (또는이 경우 https://github.com/develephant/electangular에서 구현 한 ipc)를 사용하여 서로 통신 합니다.

이 경우 노드 앱에 IPC 메시지를 보내는 데 사용되는 서비스가 있습니다.

app.service('msgService', ['ipc', '$rootScope', '$q', function(ipc, $rootScope, $q){
    this.sendMsg = function(type, value) {
        var message = {
            type: type,
            value: value
        };

        ipc.send(message);
    };
}]);

이 서비스는 기본 컨트롤러 인 컨트롤러에 삽입되고 호출됩니다.

app.controller('mainController', ['$scope', '$rootScope', 'electron', 'msgService', 'hey', function($scope, $rootScope, electron, msgService, hey){

    msgService.sendMsg('db_find', {});

    // I can see the variable inside this console.log
    console.log($rootScope);

    // I get undefined here
    console.log($rootScope.msg);

}]);

노드 앱이 요청을 생성하면 ipc를 통해 메시지를 다시 보낸 다음 Angular 앱의 .run 섹션에있는 코드 조각에 의해 선택됩니다.

app.run(['$window', '$rootScope', function($window, $rootScope) {

    $rootScope.$on('electron-msg', (event, msg) => {
        $rootScope.msg = msg;
    });

}]);

위의 코드는 실행중인 $ rootScope 변수에 msg 속성을 설정 한 다음 컨트롤러 내부에서 액세스 할 수있을 것으로 예상합니다. console.log 줄의 주석에서 $ rootScope에 액세스 할 수 있고 값이 반환되는 것을 알 수 있습니다. 그러나 $ rootScope.msg를 개별적으로 기록하면 'undefined'가됩니다. $ rootScope.msg 변수에서 변수를 설정하려는 경우에도 마찬가지입니다. 정의되지 않았습니다.

나는 이것으로 모든 것을 시도했고, 나는 완전히 내 테더의 끝입니다!

많은 도움을 주셔서 감사합니다 :)

편집하다:

다음은 console.log ($ rootScope); 요청대로 :

Scope {$id: 1, $$childTail: ChildScope, $$childHead: ChildScope, $$prevSibling: null, $$nextSibling: null…}
$$ChildScope
    :
        ChildScope()
$$applyAsyncQueue
    :
        Array[0]
$$asyncQueue
    :
        Array[0]
$$childHead
    :
        Scope
$$childTail
    :
        Scope
$$destroyed
    :
        false
$$isolateBindings
    :
        null
$$listenerCount
    :
        Object
$$listeners
    :
        Object
$$nextSibling
    :
        null
$$phase
    :
        null
$$postDigestQueue
    :
        Array[0]
$$prevSibling
    :
        null
$$watchers
    :
        Array[2]
$$watchersCount
    :
        99
$id
    :
        1
$parent
    :
        null
$root
    :
        Scope
msg
    :
        Array[4]
notificationCount
    :
        0
notifications
    :
        Array[0]
online
    :
        true
__proto__
    :
        Object

잘못된 형식에 대해 사과드립니다! 그러나 $ rootScope 안에있는 메시지를 볼 수 있습니다!

devqon

전자 라이브러리가 이러한 메시지를 비동기 적으로 실행하는 것으로 $rootScope.msg보이므로 로깅을 수행 할 때 아직 채워지지 않습니다.

물론 컨트롤러에서 이벤트를들을 수 있습니다.

msgService.sendMsg('db_find', {});

$rootScope.$on("electron-msg", (event, msg) => {
    // message done
    console.log(msg);
});

물론 이것은 ipc 서비스를 통해 전송되는 다른 메시지도 포착합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

매개 변수에 액세스하려고 할 때 정의되지 않음

분류에서Dev

json 데이터 (ajax)에 액세스하려고 할 때 정의되지 않음

분류에서Dev

Rails에서 정적 변수에 액세스하려고 할 때 "정의되지 않은 메서드"가 발생

분류에서Dev

MongoDB 결과 obj에서 배열에 액세스하려고 할 때 항상 정의되지 않음

분류에서Dev

뷰에서 클래스 속성에 액세스하려고 할 때 정의되지 않은 메서드 오류

분류에서Dev

저장소 변수에 액세스하려고 할 때 React Redux "정의되지 않은 '상태'속성을 읽을 수 없습니다."오류

분류에서Dev

반응 네이티브에서 상태에 액세스하려고 할 때 "정의되지 않음은 개체가 아닙니다"

분류에서Dev

angularjs로 REST 서비스에 액세스하려고 할 때 404

분류에서Dev

관련 항목에 액세스하려고 할 때 지연로드가 작동하지 않음

분류에서Dev

특정 값에 액세스하려고 할 때 JSON 배열 응답이 정의되지 않은 이유를 반환하는 이유

분류에서Dev

오류 : 정의되지 않은 테이블, Doctrine2를 사용하여 PostgreSQL에 액세스하려고 할 때

분류에서Dev

오류 : 정의되지 않은 테이블, Doctrine2를 사용하여 PostgreSQL에 액세스하려고 할 때

분류에서Dev

다른 Java 활동에 액세스 할 때 정적 문자열 변수가 변경되지 않음

분류에서Dev

필수 클래스의 정의되지 않은 메서드에 액세스 할 때 TypeScript 오류 없음

분류에서Dev

phpmyadmin에 액세스하려고 할 때 빈 페이지

분류에서Dev

phpmyadmin에 액세스하려고 할 때 빈 페이지

분류에서Dev

이미지 URL에 액세스하려고 할 때 403 오류

분류에서Dev

로그인 할 때 페이지에 대한 액세스를 허용하려고 할 때 세션 ID를 전송할 수 없음

분류에서Dev

MaterialUI 테마 소품을 스타일 구성 요소에 전달하려고 할 때 '정의되지 않음'

분류에서Dev

전역 변수의 정적 메서드에서 값에 액세스하려고 할 때 구문 오류

분류에서Dev

@foreach를 사용하려고 할 때 "정의되지 않은 변수 : 사용자"

분류에서Dev

onChange로 변수를 채우려 고 할 때 정의되지 않은 변수

분류에서Dev

TypeError 얻기 : AngularJS로 만든 AuthInterceptor 서비스를 포함하려고 할 때 정의되지 않은 '데이터'속성을 읽을 수 없습니다.

분류에서Dev

특정 경로에 액세스하려고 할 때 GitLab 페이지 404

분류에서Dev

Angularjs $ scope 변수가 뷰에서 업데이트되지 않음

분류에서Dev

속성에 액세스 할 때 Javascript 객체가 정의되지 않음으로 바뀝니다.

분류에서Dev

변수를 정의되지 않음과 비교할 때 "변수 정의되지 않음"오류가 발생하는 이유는 무엇입니까?

분류에서Dev

해당 속성 없음 : 구성에 액세스하려고 할 때 getFlatConfig

분류에서Dev

Python 3 : 범위에서 재정의 할 때 변수가 해결되지 않음

Related 관련 기사

  1. 1

    매개 변수에 액세스하려고 할 때 정의되지 않음

  2. 2

    json 데이터 (ajax)에 액세스하려고 할 때 정의되지 않음

  3. 3

    Rails에서 정적 변수에 액세스하려고 할 때 "정의되지 않은 메서드"가 발생

  4. 4

    MongoDB 결과 obj에서 배열에 액세스하려고 할 때 항상 정의되지 않음

  5. 5

    뷰에서 클래스 속성에 액세스하려고 할 때 정의되지 않은 메서드 오류

  6. 6

    저장소 변수에 액세스하려고 할 때 React Redux "정의되지 않은 '상태'속성을 읽을 수 없습니다."오류

  7. 7

    반응 네이티브에서 상태에 액세스하려고 할 때 "정의되지 않음은 개체가 아닙니다"

  8. 8

    angularjs로 REST 서비스에 액세스하려고 할 때 404

  9. 9

    관련 항목에 액세스하려고 할 때 지연로드가 작동하지 않음

  10. 10

    특정 값에 액세스하려고 할 때 JSON 배열 응답이 정의되지 않은 이유를 반환하는 이유

  11. 11

    오류 : 정의되지 않은 테이블, Doctrine2를 사용하여 PostgreSQL에 액세스하려고 할 때

  12. 12

    오류 : 정의되지 않은 테이블, Doctrine2를 사용하여 PostgreSQL에 액세스하려고 할 때

  13. 13

    다른 Java 활동에 액세스 할 때 정적 문자열 변수가 변경되지 않음

  14. 14

    필수 클래스의 정의되지 않은 메서드에 액세스 할 때 TypeScript 오류 없음

  15. 15

    phpmyadmin에 액세스하려고 할 때 빈 페이지

  16. 16

    phpmyadmin에 액세스하려고 할 때 빈 페이지

  17. 17

    이미지 URL에 액세스하려고 할 때 403 오류

  18. 18

    로그인 할 때 페이지에 대한 액세스를 허용하려고 할 때 세션 ID를 전송할 수 없음

  19. 19

    MaterialUI 테마 소품을 스타일 구성 요소에 전달하려고 할 때 '정의되지 않음'

  20. 20

    전역 변수의 정적 메서드에서 값에 액세스하려고 할 때 구문 오류

  21. 21

    @foreach를 사용하려고 할 때 "정의되지 않은 변수 : 사용자"

  22. 22

    onChange로 변수를 채우려 고 할 때 정의되지 않은 변수

  23. 23

    TypeError 얻기 : AngularJS로 만든 AuthInterceptor 서비스를 포함하려고 할 때 정의되지 않은 '데이터'속성을 읽을 수 없습니다.

  24. 24

    특정 경로에 액세스하려고 할 때 GitLab 페이지 404

  25. 25

    Angularjs $ scope 변수가 뷰에서 업데이트되지 않음

  26. 26

    속성에 액세스 할 때 Javascript 객체가 정의되지 않음으로 바뀝니다.

  27. 27

    변수를 정의되지 않음과 비교할 때 "변수 정의되지 않음"오류가 발생하는 이유는 무엇입니까?

  28. 28

    해당 속성 없음 : 구성에 액세스하려고 할 때 getFlatConfig

  29. 29

    Python 3 : 범위에서 재정의 할 때 변수가 해결되지 않음

뜨겁다태그

보관