Rendu du contenu HTML dynamique (contenu angularjs) après un appel ajax dans AngularJS
Je suis nouveau sur Angulaire coincé après avoir fait appel ajax. Comment puis-je rendu/compiler le contenu html une fois que vous l'injecter dans les DOM sorte que je peux encore utiliser le AngularJs fonctions.
En raison de la façon dont mon backend est mis en place-je obtenir du contenu via ajax ($http). Et je suis en train de l'application sans jQuery. J'ai essayé $compiler et $s'appliquent, mais n'a pas fonctionné. Ce qui me manque ici.
J'ai le code mis en place à http://jsfiddle.net/rexonms/RB7FQ/3/ . Je veux la deuxième div content d'avoir les mêmes propriétés que la première div.
HTML
<div ng-controller="MyCtrl" class="section">
<input ng-model="contentA">
<div>
And the input is: {{contentA}}
</div>
</div>
<div ng-controller="MyAjax" class="section">
<div id="dumpAjax">
{{ajaxData}}
</div>
<button ng-click=getajax()> Get Ajax</button>
</div>
SCRIPT
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
}
function MyAjax($scope){
var data = '<input ng-model="contentB">{{contentB}}';
$scope.getajax = function(){
$scope.ajaxData = data;
}
}
Merci à l'avance.
source d'informationauteur rex | 2014-03-20
Vous devez vous connecter pour publier un commentaire.
ng-bind-html-unsafe
n'est pas disponible 1.2 et plus tard verison angulaire...de sorte que vous devriez utiliser
ng-bind-html
qui crée une liaison qui va innerHTML le résultat de l'évaluation de l'expression dans l'élément en cours dans un manière sécurisée.à l'aide de
$scope
variable dans votre chaîne de le rendre dangereux, donc vous devez utiliser$sce.trustAsHtml
mais cette fois les variables dans votre chaîne de caractères ne peut pas être lier parce qu'ils seront pas compilés...fondamentalement, vous devez compiler votre chaîne afin de lier vos variables. Voici des directives sur mesure, vous pouvez créer une directive qui peut remplacer avec ng-html-lier...
Écrit une coutume de la directive qui s'étend
ng-bind-html
avec quelques fonctions supplémentaires peuvent être une solution...voici mon PLUNKER
et voici la mise à jour des JSFIDDLE avec ma solution...
Au lieu de
{{ajaxData}}
vous devriez utiliser quelque chose comme:Toutefois, vous souhaitez toujours besoin de définir le bon modèle pour lier le
contentB
et le faire fonctionner.