2016-05-26 6 views
1

Ich bin sehr neu zu angularjs. Ich möchte ein Skript-Tag mit einer benutzerdefinierten Angularjs-Direktive laden. Unten ist der Beispielcode für das, was ich erreichen möchte:Laden eines Skripts mit einer benutzerdefinierten angularjs-Direktive

angular.module('app') 
    .directive('myScript', function() { 
    return { 
     restrict: 'E', 
     template : function(e,a){ 
      return '<script>document.write(5 + 6);</script>'; 
     } 
    }; 
    }); 

So 11 angezeigt wird, wenn die Richtlinie in html hinzugefügt wird:

<div><my-script></myscript></div> 

Aber ich konnte sie nicht erreichen verwalten. Also, ich denke, mein Code ist falsch? Bitte hilf mir dabei. Danke im Voraus.

+0

Mögliche Duplikat der Frage unter ..http: // Stackoverflow .com/fragen/27533421/how-to-load-ein-script-using-custom-angular-directive – Vijay

Antwort

0

In Ordnung, warum möchten Sie es mit einem Skript-Tag tun, Yin?

Sie können eine integrierte Direktive dafür tun. Ähnlich wie ng-bind oder sogar geschweifte Klammern {{}} AngularJs wertet Ihren Ausdruck aus und setzt den Tag-Wert als Ergebnis.

Beispiel: <span ng-bind="5 + 6"></span>

Ergebnis: <span>11</span>

Wann immer müssen Sie einen Ausdruck bewerten Sie auf diese Weise tun können :)

+0

Danke für die Antwort, Carlos. Oben ist nur ein Beispiel. Wenn das Skript, das ich laden möchte, komplizierter ist, wie sollte ich es mithilfe von Direktiven laden? – Yin

+0

Oh, verstanden. Also, wahrscheinlich würden Sie einen Controller auf Ihrer Anweisung erstellen und JavaScript verwenden, um Ihr Skript-Tag einzufügen. Eine Alternative, Sie könnten etwas wie [ocLazyload] (https://oclazyload.readme.io/) verwenden, um Ihr Skript zu erhalten. :) –

Verwandte Themen