2016-10-17 2 views
1

状態コントローラは、次の変数がありますAngularJS - フリーグランド親変数

vm.stateControllerVariable = 1; 

状態テンプレートは、次のディレクティブがあります

<div directive-aleluia></div> 

指令-aleluiaテンプレート:

<div directive-arebaba></div> 

ディレクティブ・アババ・テンプレート:

<span>{{ vm.stateControllerVariable }}</span> 
<!-- How can I show the grand parent controller variable here? --> 

答えて

0

親スコープからデータを継承するには、ディレクティブに分離スコープを設定することはできません.2つのディレクティブの値はtrueまたはfalseでなければなりません。

あなたのディレクティブから分離されたスコープが必要な場合は、あなたの孤立スコープにパラメータとして

vm.stateControllerVariable

を渡す必要があります。

は、このようなexplaination about directive

0

何かを参照してください:

ちょうど子供や孫ディレクティブで分離された範囲の中に祖父母(コントローラ)変数を渡す

var app = angular.module('plunker', []); 

    app.controller('MainCtrl', function($scope) { 
     $scope.stateControllerVariable = 'Hello State'; 
    }); 

    app.directive('directiveAleluia', function(){ 
     return { 
     scope: { 
      someVar: '=' 
     }, 
     template: '<div directive-arebaba some-var="someVar"></div>' 
     }; 
    }); 

    app.directive('directiveArebaba', function(){ 
     return { 
     scope: { 
      someVar: '=' 
     }, 
     template: '<span>{{ someVar }}</span>' 
     }; 
    }); 

HTMLを

<div directive-aleluia some-var="stateControllerVariable"></div> 

ワーキングplunkr:http://plnkr.co/edit/HZwD3sQZ5kJUAoFRujbW?p=preview

関連する問題