2016-04-23 2 views
1

verwenden Ich bin neu in angularjs. Ich habe eine Problembereichsvariable, die nicht im Skript-Tag funktioniert. Ich habe versucht, ng-src, aber immer noch nicht funktioniert. script_path Variable funktioniert nicht mit script.js, wenn ich nur {{script_path}} hinzufügen funktioniert gut, aber wenn ich {{script_path}}/script.js hinzufügen funktioniert das nicht.Wie Scope-Variablen in Attributen mit Zeichenfolge

Mein Beispielcode

<html ng-app="myApp"> 
<head ng-controller='HeadCn'> 
<meta charset="utf-8"> 
<title>test</title> 
<script src="js/angular.js"></script> 
<script ng-src="{{script_path}}/script.js"></script> 
</head> 


<body class="container"> 
    <script> 
     var app = angular.module('myApp', []); 
     app.controller("HeadCn", function($scope) { 
      $scope.script_path = "js/"; 
     }) 
    </script> 
</body> 
</html> 

bitte geben Sie mir Lösung, wie Umfang Variable in der Steuerung überall verwenden.

Vielen Dank im Voraus

+1

Sie haben a/in Ihre script_path und du fügst auch einen mehr hinzu, wenn du ng-SRC verwendest, so dass dein Pfad 2 Schrägstriche hat, was kein gültiger Pfad ist. – Manish

Antwort

0

Jimbrooism ist richtig, Sie werden diese Fehler, weil Sicherheitsbedenken nicht behandelt werden.

Bitte lesen Sie bei https://docs.angularjs.org/api/ng/service/ $ sce

Sie müssen möglicherweise andere Filter verwenden, wie auf dieser Seite beschrieben, oder Sie können auf Config-Ebene vollständig zu deaktivieren sce, die

nicht empfohlen
0

Verwendung $sce löst das Problem, einen Filter erstellen, um dieses Problem zu lösen

angular.module('myApp') 
    .filter('trustUrl', function ($sce) { 
    return function(url) { 
     return $sce.trustAsResourceUrl(url); 
    }; 
    }); 

<script ng-src="{{script_path}}/script.js | trustUrl "></script> 
+0

funktioniert immer noch nicht nach dem Hinzufügen von einfachen Anführungszeichen, aber danke für die Antwort. AngularJS v1.5.5 –

+0

Bitte überprüfen Sie Ihre Konsole gibt es einen Fehler msg – byteC0de

+0

keine Fehlermeldung in der Konsole. html display {{script_path}} not "/ js" –

Verwandte Themen