2017-01-05 6 views
0

Ich habe die folgende Die Richtlinie. Wenn diese Direktive aufgerufen wird, erzeugt sie ein neues enviroVariables Element, das eine andere Direktive ist, die ich geschrieben habe. Es sieht wie folgt aus:Passing div id in Winkel

<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> 

Das Problem, das ist, weil ich ein Element mit dem gleichen div id erschaffe, wenn ich Dependency Injection tun es alle Umgebungsvariablen aktualisiert, anstatt nur eine.

Gibt es eine Möglichkeit, eine neue Div-ID für jede von mir erstellte Instanzvariable zu übergeben oder zu generieren? Ich vermute, ich sollte es in der Lage sein, in ihrem Umfang weitergeben müssen: {} unten, aber kann es nicht

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


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

Wo diese ID die Arbeit 'ist moreEnviromentVariables' definiert? Und wo benutzt du 'addfields'? – Satpal

+0

Aktualisiert für einige Klarheit, danke –

+0

Sorry meine Antwort war Angular 2-centric, entfernt es. Vielleicht könnten Sie mit einer CSS-Klasse anstelle einer ID arbeiten (es ist immer noch wichtig, dass Sie keine doppelten DOM-Element-IDs in Ihrer App haben sollten). –

Antwort

0

Versuchen Sie dies in der addfields Richtlinie Rückkehrfunktion

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

Kannst du mir das bitte durchsprechen? –

+0

Ja, sicher. Sag mir zuerst, ob es funktioniert oder nicht? –

+0

Nein, es macht die Divs nicht unabhängig und gibt ihnen eine ID, die mein Ziel ist. –