2016-11-01 5 views
0

Ich habe ein Problem, ich möchte HTML-Elemente in einer Direktive in angularjs anhängen, und ich möchte sie zum Beispiel kompilieren Ich möchte ein {{text}} anhängen und ich möchte dies kompilieren with ~~~ $ scope.text = "Beispiel ...";AngularJS Append und kompilieren in Direktive

Wie kann ich das tun? ist das möglich? Wie?

(function() { 
'use strict'; 

var matrixelement = document.getElementById("matrixcontent"); 

var app = angular.module('testviewer', ['ngMaterial', 'ngSanitize']).controller('matrixviewCtrl', matrixviewCtrl); 


app.directive("matrixview",function($compile){ 
    return { 
      link: function (scope, iElement, iAttrs) { 
      var svg = angular.element("<p>{{ text }}</p>"); 
      iElement.append($compile(svg)($scope)); 
     }    
    } 
}); 



function matrixviewCtrl($scope, $compile) { 


} 
})(); 
+0

Sie tun es hier 'iElement.append ($ compile (svg) ($ Scope));', Was ist das Problem? –

+0

Entfernen Sie das Dollarzeichen von der Scope-Variable in der Direktive, so dass es 'iElement.append ($ compile (svg) (scope));' – Ankh

Antwort

1

Ändern Sie diese Zeile:

iElement.append($compile(svg)($scope)); 

Um dies:

iElement.append($compile(svg)(scope)); 

Acutally Sie haben nur das $ -Zeichen vom Umfang erwähnt wird als scope weil in Ihrem Link fuction zu entfernen.

+0

vielen Dank –

+0

Froh, dass es Ihnen geholfen hat! Sie können nach oben abstimmen und es akzeptieren, wenn es das tat;) –

Verwandte Themen