Ich habe ein angularjs Beispiel Code-Snippet here, wo ich die HTML-Tags mit ng-bind-html
Direktive binden kann. Aber wie kann ich einige andere Tags wie AngularJS umfassen ng-click
, id
Umbau usw. innerhalb ngBindHtml Direktive wieangularjs click -Ereignis in der ngBindHtml-Direktive
<a href="javascript:void(0);" id="myLink" ng-click="myFunct()">Test</a>
Mein Beispielcode ist hier:
var app = angular.module("myApp", ['ngSanitize']);
app.controller("myCtrl", function($scope) {
$scope.myText = "<a href='#' ng-click='someFunction()'>Test</a>";
$scope.someFunction = function(){
alert("Link Clicked");
};
});
FYI, die Daten werden dynamisch vom Server geladen Side-Skript und ich muss ng-bind-html
innerhalb ng-repeat
Direktive verwenden, und ich muss entsprechende IDs, um auf Ereignisse wie ng-click="myFunction(x.id)"
wie in sample 2 klicken.
Es scheint so zu Hacker führen könnten in der Lage, nicht vertrauenswürdigen JavaScript/HTML-Datei auf Ihrer Website zu führen, die eine schlechte Sache wäre. Sie können statischen Inhalt (oder dynamischen Inhalt von Ihrem Server nehme ich an) über ein "ng-include" ... – mgilson
mclison ist korrekt, aber wenn Sie die Kontrolle über die angezeigten Daten haben und dies tun müssen, zum Beispiel als Templating in einer Kundenzelle auf einer Datentabelle (der Anwendungsfall, den ich vorher verwendet habe). Dann müssen Sie Angular Compile den Code. Ich werde mir das jsFiddle ansehen. –