2017-01-05 10 views
0

でディレクティブにdivのIDを渡します。このディレクティブが呼び出されると、別のディレクティブである新しいenviroVariables要素が作成されます。それは次のようになります。は、私は次のディレクティブを持って角度

<div id = "formSection"> 
        <div class="row rowmargin"> 
        <div class="col-sm-6"> 
         <input type="text" class="form-control" placeholder="key" id="key" ng-model="key" ng-change="updateJson()" ng-model-options="{debounce: 1000}"> 
        </div> 
        <div class="col-sm-6"> 
         <input type="text" class="form-control" placeholder="value" ng-model="value" ng-change="updateJson()" ng-model-options="{debounce: 1000}" > 
        </div> 
        </div> 

       </div> 

問題は、私は同じのdiv idを持つ要素を作成していますので、私は依存性の注入を行う際に、それはむしろちょうど1よりも、すべての環境変数を更新していることです。

作成する変数のインスタンスごとに新しいdiv IDを渡す方法がありますか?私はスコープでそれを渡すことができるはず推測している:{}以下が、それは

.directive('enviroVariables',function(){ 
    return{ 
    restrict: 'E', 
scope:{}, 


    templateUrl:'scripts/directives/enviromentVariablesDiv.html' 
    } 
}); 
+0

でこれを試してみてください動作し得るカントmoreEnviromentVariables'定義されている?そして、どこで 'addfields'を使っていますか? – Satpal

+0

いくつかの明快さのためにそれを更新しました、ありがとう –

+0

申し訳ありませんが、私の答えは角2中心です、それを削除しました。 IDの代わりにCSSクラスを使って作業することもできます(アプリにDOM要素IDが重複しないようにすることは重要です)。 –

答えて

0

addfieldsディレクティブリターン機能このIDを `である

return function(scope,element){ 
    element.on("click",function(){ 
    var enviroElement = angular.element('<enviro-variables></enviro-variables>'); 
     var el = $compile(enviroElement)(enviroElement.scope()); 
     console.log(el); 
     angular.element(document.getElementById('moreEnviromentVariables')).append(el) 
    }) 
    } 
+0

これで私のことを話せますか? –

+0

ええ、確かに。まずそれが働いているかどうか教えてください。 –

+0

いいえ、divsを独立させて、それらに私の目標であるIDを与えません。 –

関連する問題