나는 controller1에 정의 된 함수를 가지고 있으며 그것을 controller2에서 사용하고자합니다. 내가 $scope.functionName()
또는 $rootScope.functionName()
작업을 수행 할 때이 오류가없는 컨트롤러 2에서 예상대로 그것은 controller1에 절대적으로 잘 작동하지만컨트롤러 2의 컨트롤러 1에서 함수를 호출하려면 어떻게해야합니까? AngularJS
TypeError: $scope.functionName() is not a function
를 얻을. 필자는 기존 기능을 복사하여 컨트롤러 2에 붙여서 사용하고 싶지 않습니다. 다시 사용할 수 있어야합니다.
controller2에서 언제든지 functionName()을 사용하고 싶다면 코드는 어떻게 생겼을까요? 나는 evt 데이터 레이아웃을 얻지 못했다. – hellomate
app.controller ('하나'[ '범위 $', '$ rootScope' 함수 ($ 범위) {$ rootScope ("CallParentMethod"$에, 함수() {$ scope.parentmethod(). }); $ scope.parentmethod = function (// 작업 ) } ]); app.controller ('two', [ '$ scope', '$ rootScope' function ($ scope) { $ scope.childmethod = function() { $ rootScope. $ emit ("CallParentMethod", {}) ; } } ]); 하위 컨트롤러에 $ emit + $를 사용할 수 있습니다. 하위 컨트롤러에 $ 브로드 캐스트 + $로 --- 하위 컨트롤러에 대한 부모. –