2017-07-29 19 views
2

長い時間の後にAngularJSを再訪しました。彼らがコンポーネントを手に入れたのを楽しみにしています。私は自分のプロジェクトでコンポーネントを利用しようとしています。UI-Routerの親状態からすべてのコンポーネントにオブジェクトを渡す

親コンポーネントの状態へのアクセスを必要とする子コンポーネント状態はほとんどありません。基本的にオブジェクトはすべての子状態で共有されます。私はコンポーネントでそれを達成することができません。私はそれが子の状態だすべての間で共有したいウィザードコンポーネントで$ctrl.settingsと呼ばれるオブジェクト/変数があり

{ 
    name: 'wizard', 
    url: '/wizard', 
    component: 'wizard', 
    redirectTo: 'wizard.init' 
    }, 
    { 
    name: 'wizard.init', 
    url: '/init', 
    component: 'init' 
    }, 
    { 
    name: 'wizard.customize', 
    url: '/customize', 
    component: 'customize' 
    }, 
    { 
    name: 'wizard.finish', 
    url: '/finish', 
    component: 'finish' 
    } 

- ここ

general overview of architecture

は次のような構造がどのように見えるかです。

私はこのような何かやってみました -

<div ui-view settings="settings"> 

そして、このような子コンポーネントでそれらにアクセスする -

(function(angular){ 
    var app = angular.module('app'); 

    app.component('init', { 
    templateUrl:'Scripts/dist/views/modules/wizard/init.html', 
    controller: WizInit, 
    bindings : { 
     'settings' : '=' 
    } 
    }); 

    function WizInit(){ 
    var $ctrl = this; 

    $ctrl.$onInit = function(){ 
     console.log("init Start Step"); 
     console.log($ctrl.WizInit); 
     $ctrl.WizInit= "start"; 
    }   
    }  
})(window.angular); 

をしかし、私はいくつかの値に割り当てられているにもかかわらず、すべての状態で未定義の取得親コンポーネントである/wizard

コンポーネントとui-routerでどのように動作させることができますか?

答えて

2

気にしないで、

解決しました。私はちょうど..親コンポーネントの状態のui-viewディレクティブで$ctrlを追加するために後半作業の

<div ui-view settings="$ctrl.settings"> 

欠点がありました。あなたは時には十分に生産的ではありません。

関連する問題