2017-04-16 9 views
0

に親に子コンポーネントにオブジェクトを渡すために、私はangularJS 1.5倍でからmulitステップを作るために探していますし、ここに私のファイル形式です方法angularJS

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

I

function EventController($scope) { 

     $scope.formData = {}; 

    } 

    angular 
     .module('components.event') 
     .controller('EventController', EventController); 
0123:私はオブジェクト$ 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

解決機能は、祖先状態からの他の解決結果、または同じ状態の他の解決からの結果を注入する可能性があります。 [UI-Router for AngularJS(1.x)#resolve](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); 
    } 
関連する問題