choco's log/AngularJS

부모 scope 에서 자식 scope 함수 호출하기

chocodev 2019. 9. 16. 14:38

부모 scope에서 자식 scope에 있는 함수를 써야 하는 상황이 생겼다. 바로 밑에 상황처럼.

function ParentCntl($scope) {
    // 이곳에서 someEvent()를 호출하고 싶다!
}

function ChildCntl($scope) {
    $scope.someEvent = function() {
        // someEvent
    }
}

하지만 이제 막 angularJS 써보고 알아가는 단계라서 잘 모른다규,,, ㅠㅠ 구글신께 여쭤봐야지.

 

신이 응답해주셨다. $broadcast 과 $on 이놈을 사용하면 된다고 한다.

function ParentCntl($scope) {
    // 이곳에서 someEvent()를 호출하고 싶다!
    $scope.$broadcast('callChildMethod');
}

function ChildCntl($scope) {
    $scope.$on('callChildMethod', function(e) {
    	$scope.someEvent();
    }
    
    $scope.someEvent = function() {
        // someEvent
    }
}

이렇게 해결했다. 일단 잘되고 현재 바쁘니 $broadcast 와 $on 의 역할은 나중에 자세하게 알아보도록 하겠다..ㅠㅠ 너무 바빠..