javascript - example - renderizar html angularjs
AngularJS: ejecute directivas personalizadas después de ng-bind-html (1)
HTML:
<div ng-app="myApp" ng-controller="myCtrl">
<div ng-bind="sometext" my-directive>before</div>
</div>
Controlador:
angular.module(''myApp'', []);
angular.module(''myApp'').controller(''myCtrl'', function($scope) {
$scope.sometext="stuff here";
});
Directiva:
angular.module(''myApp'').directive(''myDirective'', function() {
return {
priority: 10, // adjust this value ;)
link: function(scope,element,attrs) {
scope.$watch(attrs.ngBind, function(newvalue) {
console.log("element ",element.text());
});
}
};
});
Utilice la propiedad de priority
dentro de la directiva para ejecutar su código después de mg-bind
Tengo un escenario en el que quiero ejecutar una directiva personalizada en el DOM que ng-bind-html
create.
Básicamente tengo que personalizar el comportamiento de la etiqueta html <a>
porque el html que se está cargando no es seguro y cuando el usuario hace clic en el vínculo, debo ejecutar algunas funciones antes de que ocurra algo, también conocido como el evento click
de jqLite.
Entonces mi ideia original fue crear una directiva que modifique el comportamiento de cualquier <a>
dentro del contenedor al que puse el atributo de mi directiva.
Esto funciona bien, hasta que combine con ng-bind-html
, mi directiva se ejecuta antes de que ng-bind-html
compile la cadena en html y se adjunta al DOM.
Entonces, ¿hay alguna forma de ejecutar mi directiva personalizada después de ejecutar ng-bind-html
?