2017-08-22 11 views
1

私は指示に取り組んでおり、の字句を使用していますので、の内部要素が使用されています。AngularJS指令親スコープを転用

のは、これが私のディレクティブの見解であることを言ってみましょう:

<div> 
    <div ng-repeat="opt in options"> 
    <ng-transclude></ng-transclude> 
    </div> 
</div> 

指令

app.directive("myDirective", function(){ 
    return { 
     restrict: "E", 
     transclude: true, 
     templateUrl: 'my-directive.html', 
     scope: { 
      options: '=' 
     } 
    }; 
    }); 

そして、それの簡単な使用:

<my-directive options="someOptions"> 
    <p>{{someObject[$parent.opt]}}</p> 
</my-directive> 

これは単なる作品良い。この解決策の私の問題は、その$parent.optは非常に読みやすく、明確ではないということです... 他のオプションはありますか?

ありがとうございました

答えて

0

あなたの指示は非常に特殊なものです。
親をディレクティブにも渡すのはどうですか?

<my-directive options="someOptions" object="someObject"></my-directive> 
ディレクティブで

<div> 
    <div ng-repeat="opt in options"> 
    <p>{{object[opt]}}</p> 
    </div> 
</div> 

してから分離されたスコープ宣言でobject: '<'を追加します。

+0

あなたの指示の中には常にng-repeatがあるので、この解決策はとにかく親オブジェクト/配列を必要とします。 – cst1992

+0

それは確かです。その "構造"の背後にある理由は、さまざまな部分を分離しようとすることです。私は本当にオブジェクトを使用してバインドすることはできません。私が達成したいことではありません。ありがとうございました! –