2017-07-12 3 views
1

Ich bin ein Newbee zu Angular und Frontend; sorry, wenn meine Frage ist einfach:Skript dynamisch in HTML vom Controller in Angular injizieren

Ich habe den folgenden Code in meinem Controller, wo ich $window.user Daten bin bevölkern, die im Skript verwendet wird, [2], die ich in meiner HTML-Datei hinzugefügt

$scope.currentUser.$promise.then(function (data) { 
    $window.user = {}; 
    $window.user.firstName= data.firstName 
} 

Und hier ist das Skript, das ich in HTML [2] meine Daten

<script type="text/javascript" src="https://test.com/embed.js" async></script> 

jedoch hinzugefügt ($window.user.firstName) wird weitergegeben zu spät nach dem Skript geladen; Ich denke, ich habe zwei Möglichkeiten:

1) dynamisch injizieren/laden Sie mein Skript in meinem HTML von meinem Controller nach dem Erhalt $window.user.firstName. Wenn das der richtige Weg ist, wie würdest du das tun?

2) lesen $window.user.firstName auf $window.onload?

Hinzugefügt: Es ist erwähnenswert, wenn ich $ windows.user.firstname nicht durch Versprechen bevölkern und einige Dummy-Daten außerhalb dieser Daten verwenden wird von Skript verwendet und funktioniert gut.

Antwort

0

fand ich eine Lösung:

$('<script type="text/javascript" src="https://myscript/embed.js" async></script>').appendTo('body'); 

^Es funktioniert gut. Wenn Sie jedoch ein Problem mit dieser Lösung sehen, schreiben Sie bitte hier. Vielen Dank!

Verwandte Themen