2017-04-16 11 views
0

에 부모에게 자식 구성 요소의 객체를 전달하는 방법을 내 form.component.js 내 파일 형식내가 여기 AngularJS와 1.5 배의에서 mulit 단계를 만들기 위해 찾고 있어요 AngularJS와

-events 
--events.component.js 
--events.controller.js 
-form.component.js 
-form.controller.js 

입니다 난

function EventController($scope) { 

     $scope.formData = {}; 

    } 

    angular 
     .module('components.event') 
     .controller('EventController', EventController); 
: 나 오브젝트의 $ scope.formData가 상위 제어기
var createForm = { 
     templateUrl: 'app/components/event/form.html' 
    }; 

    angular 
     .module('components.event') 
     .component('createEvent', createEvent) 
     .config(function($stateProvider) { 
      $stateProvider 
       .state('form', { 
        url: '/form', 
        component: 'createForm' 
       }) 
       // nested states 
       .state('form.events', { 
        url: '/events', 
        component: 'createEvents' 
       }) 
     }); 

(form.controller.js) .. 형태의 다른 부분에 라우팅 UI 라우터를 사용하고

내 이벤트 컨트롤러에서 $ scope.formData에 액세스하려고합니다. 나는 $ 범위를 사용하려고했습니다. 아직

function EventController($scope) { 

     $scope.parentformData = $scope.$parent.formData; 

    } 

    angular 
     .module('components.event') 
     .controller('EventController', EventController); 

나를 위해 내가이 작업을 수행 할 수있는 방법에 대한 아이디어를 작동하지 않은 $ parent.formData events.controller.js에서?

+0

해결 함수는 조상 상태의 다른 해결의 결과 나 같은 상태의 다른 해결의 결과를 주입 할 수 있습니다. [AngularJS (1.x) #resolve의 UI-Router] (https://ui-router.github.io/ng1/tutorial/hellogalaxy#resolve)를 참조하십시오. – georgeawg

답변

0

희망 코드가 유용합니다.

//No need to pass the .js file name. 
//Just pass the name/element of your controller. 

//eg: 
    // assuming this is your controller definition/declaration inside form.controller.js 
    function formController($scope) { 
     // code insde controller 
    } 

    // assuming this code is written inside events.controller.js 
    function EventController($scope) { 

     var formControllerScope = angular.element(formController).scope(); 
     console.log(formControllerScope.formData); 
    }