동일한 각도 컨트롤러를 사용하는 두 번째보기에서 범위 변수가 인식되지 않습니다.

ChristinaLindsay

유효한 사용자를 이름으로 환영하는 개인화 된 HTML보기로 리디렉션하는 로그인 기능을 구현하려고합니다.

내 첫 번째보기는 로그인보기입니다. 사용자가 "Log In"이라는 버튼을 클릭하면 사용자 를 확인하는 ng-click컨트롤러를 호출 $scope.login하고 $scope.needsLoggingIn변수를 설정 한 다음 두 번째보기 (의 값을 표시하는 시작 페이지)로 리디렉션합니다 $scope.needsLoggingIn.

내 문제는 함수 $scope.needsLoggingIn에서 설정하려고 할 때 두 번째 뷰 (동일한 각도 컨트롤러 및 모듈을 사용)에 변수가 표시되지 않는다는 것입니다 $scope.login. $scope.needsLoggingIn범위 함수 외부에서 컨트롤러에서 다음과 같은 값을 하드 코딩 경우 에만 표시 됩니다.

$scope.needsLoggingIn = "Betty";

이것은 $scope.login설정을 시도 $scope.needsLogging하고 첫 번째보기에서는 허용되지만 두 번째보기에서는 허용되지 않는 내 컨트롤러 기능입니다 .

$scope.login = function (username, password) {
    $http({
        method: 'GET',
        url: ('/login/' + username + '/' + password)
    }).then(function successCallback(response) {
        if (JSON.stringify(response.data) === '[]')
        {
            $scope.needsPasswordMessage = true;
            if ($scope.needsPasswordMessage)
                $scope.needsPasswordMessage = false;
            console.log("No match");
        } else {
            $scope.needsLoggingIn = username;
            $scope.issuccessMessage = true;
            if ($scope.isfailureMessage)
                $scope.isfailureMessage = false;
            $window.location.href = '../indextest.html';
            return response;
        }
    }, function errorCallback(response) {
    });
};

누구든지 $scope.needsLoggingIn컨트롤러에 하드 코딩하지 않고 두 HTML보기에서 인식을 얻을 수있는 방법에 대한 제안이 있습니까? $scope.login함수가 변수 값을 설정하고이 특정 컨트롤러를 사용하는 모든 뷰에서 인식하도록하고 싶습니다 .

마이크 펠트 만

다른 뷰와 컨트롤러 인스턴스에 걸쳐 유지하려는 데이터는 서비스를 통해 처리해야합니다.

기본적으로 다음과 같은 서비스를 생성합니다.

function userService($http) { 
    let service = {}
    service.needsLoggingIn = ""
    service.login = login

    return service

    function login() {
       return $http.... (your login code)
    }
}

그런 다음 컨트롤에 서비스를 삽입하고 속성을 적절하게 설정 한 다음 서비스가 싱글 톤이므로 서비스를 삽입하는 모든 곳에서 해당 속성 값을 사용할 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 번째 컨트롤러가 내 각도 js에서 작동하지 않습니다.

분류에서Dev

컨트롤러에서 업데이트되지 않는 각도 $ 범위 변수

분류에서Dev

각도 컨트롤러가 두 번 호출되었습니다. 인스턴스화 수를 아는 방법

분류에서Dev

사용자를 두 번째보기 컨트롤러에서 initialview 컨트롤러로 이동할 수 없습니다.

분류에서Dev

두 번째보기 컨트롤러에 데이터를 보내는 사용자 지정 셀 Segue가 작동하지 않음

분류에서Dev

매개 변수가있는 지시문에서 각도 컨트롤러 범위 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

각도 js 컨트롤러가 작동하지 않습니다.

분류에서Dev

각도 컨트롤러가 작동하지 않습니다.

분류에서Dev

다른 컨트롤러에서 함수를 실행하여 범위가 각도로 업데이트되도록하려면 어떻게해야합니까?

분류에서Dev

컨트롤러에서 지시문까지 각도 이동 범위 변수

분류에서Dev

Laravel, 다른 하위 도메인의 동일한 경로가 잘못된 컨트롤러를 사용합니다.

분류에서Dev

각도기는 동일한 클래스 이름을 가진 두 범위를 연결합니다.

분류에서Dev

값을 표시하기 위해 간단한 각도 컨트롤러를 가져올 수 없습니다.

분류에서Dev

AngularJS : 컨트롤러 범위가 약속과 동기화되지 않습니다.

분류에서Dev

간단한 컨트롤러 만들기 각도가 작동하지 않습니다.

분류에서Dev

범위를 식별하지 않는 별도 파일의 AngularJS 컨트롤러

분류에서Dev

첫 번째보기 컨트롤러 위에 두 번째보기 컨트롤러를 포함 할 수 없습니다.

분류에서Dev

NSInvalidArgumentException : 동일한 뷰 컨트롤러 인스턴스를 두 번 이상 푸시하는 것은 지원되지 않습니다.

분류에서Dev

첫 번째가 이미 범위를 벗어 났는데도 차용 검사기가 두 번째 변경 가능한 차용을 허용하지 않는 이유는 무엇입니까?

분류에서Dev

ui-router가 상태를 변경할 때 각도 컨트롤러 범위가 변수를 파괴하지 않음

분류에서Dev

각도 컨트롤러 함수는 한 함수에서 다른 함수로 결과를 반환하지 않습니다.

분류에서Dev

각도 컨트롤러 함수는 한 함수에서 다른 함수로 결과를 반환하지 않습니다.

분류에서Dev

$ timeout 서비스가 지시문에서 각도 컨트롤러를 업데이트하지 않습니다.

분류에서Dev

각도 컨트롤러가 서비스 개체 속성 ng-repeat를 바인딩하지 않습니다.

분류에서Dev

각도 컨트롤러에서 onclick을 사용할 때 확인란이 작동하지 않습니다.

분류에서Dev

Angular $ scope가 예상대로 작동하지 않습니다. 컨트롤러 $ scope 및 $ scope.function 범위에서 개체 값 할당 시도

분류에서Dev

내 AngularJS보기는 컨트롤러의 범위에 액세스 할 수 있지만 ng-repeat가 작동하지 않습니다.

분류에서Dev

Swift : XLPagerTabStrip에서 자식보기 컨트롤러를 사용한 후 첫 번째보기 컨트롤러로 돌아가는 방법

분류에서Dev

각도 컨트롤러에서 변수 값이 변경되지 않습니다.

Related 관련 기사

  1. 1

    두 번째 컨트롤러가 내 각도 js에서 작동하지 않습니다.

  2. 2

    컨트롤러에서 업데이트되지 않는 각도 $ 범위 변수

  3. 3

    각도 컨트롤러가 두 번 호출되었습니다. 인스턴스화 수를 아는 방법

  4. 4

    사용자를 두 번째보기 컨트롤러에서 initialview 컨트롤러로 이동할 수 없습니다.

  5. 5

    두 번째보기 컨트롤러에 데이터를 보내는 사용자 지정 셀 Segue가 작동하지 않음

  6. 6

    매개 변수가있는 지시문에서 각도 컨트롤러 범위 함수를 호출하는 방법은 무엇입니까?

  7. 7

    각도 js 컨트롤러가 작동하지 않습니다.

  8. 8

    각도 컨트롤러가 작동하지 않습니다.

  9. 9

    다른 컨트롤러에서 함수를 실행하여 범위가 각도로 업데이트되도록하려면 어떻게해야합니까?

  10. 10

    컨트롤러에서 지시문까지 각도 이동 범위 변수

  11. 11

    Laravel, 다른 하위 도메인의 동일한 경로가 잘못된 컨트롤러를 사용합니다.

  12. 12

    각도기는 동일한 클래스 이름을 가진 두 범위를 연결합니다.

  13. 13

    값을 표시하기 위해 간단한 각도 컨트롤러를 가져올 수 없습니다.

  14. 14

    AngularJS : 컨트롤러 범위가 약속과 동기화되지 않습니다.

  15. 15

    간단한 컨트롤러 만들기 각도가 작동하지 않습니다.

  16. 16

    범위를 식별하지 않는 별도 파일의 AngularJS 컨트롤러

  17. 17

    첫 번째보기 컨트롤러 위에 두 번째보기 컨트롤러를 포함 할 수 없습니다.

  18. 18

    NSInvalidArgumentException : 동일한 뷰 컨트롤러 인스턴스를 두 번 이상 푸시하는 것은 지원되지 않습니다.

  19. 19

    첫 번째가 이미 범위를 벗어 났는데도 차용 검사기가 두 번째 변경 가능한 차용을 허용하지 않는 이유는 무엇입니까?

  20. 20

    ui-router가 상태를 변경할 때 각도 컨트롤러 범위가 변수를 파괴하지 않음

  21. 21

    각도 컨트롤러 함수는 한 함수에서 다른 함수로 결과를 반환하지 않습니다.

  22. 22

    각도 컨트롤러 함수는 한 함수에서 다른 함수로 결과를 반환하지 않습니다.

  23. 23

    $ timeout 서비스가 지시문에서 각도 컨트롤러를 업데이트하지 않습니다.

  24. 24

    각도 컨트롤러가 서비스 개체 속성 ng-repeat를 바인딩하지 않습니다.

  25. 25

    각도 컨트롤러에서 onclick을 사용할 때 확인란이 작동하지 않습니다.

  26. 26

    Angular $ scope가 예상대로 작동하지 않습니다. 컨트롤러 $ scope 및 $ scope.function 범위에서 개체 값 할당 시도

  27. 27

    내 AngularJS보기는 컨트롤러의 범위에 액세스 할 수 있지만 ng-repeat가 작동하지 않습니다.

  28. 28

    Swift : XLPagerTabStrip에서 자식보기 컨트롤러를 사용한 후 첫 번째보기 컨트롤러로 돌아가는 방법

  29. 29

    각도 컨트롤러에서 변수 값이 변경되지 않습니다.

뜨겁다태그

보관