angulaire.js - Comment compiler manuellement un dom inséré en angulaire?
滿天的星座2017-05-15 16:51:11
0
3
736
Après avoir effectué quelques opérations sur la page, un morceau de code html sera inséré
Comment compiler ce html pour que les événements et variables qui y sont liés prennent effet~
Pour des raisons de sécurité, les événements d'Angular dans le code HTML que nous avons inséré et le modèle ng lié ne fonctionneront pas.
Si vous voulez que cela fonctionne, vous devez utiliser le service $compile d'Angular
J'utilise généralement une directive lors du traitement
javascriptangular.module(...).directive('jxbBindCompiledHtml', function ($compile) {
'use strict';
return {
template: '
<p></p>
',
scope: {
rawHtml: '=jxbBindCompiledHtml'
},
link: function (scope, elem, attrs) {
scope.$watch('rawHtml', function (value) {
if (!value) {
return;
}
// we want to use the scope OUTSIDE of this directive
// (which itself is an isolate scope).
var newElem = $compile($.parseHTML(value))(scope.$parent);
elem.contents().remove();
elem.append(newElem);
});
}
};
});
Pour des raisons de sécurité, les événements d'Angular dans le code HTML que nous avons inséré et le modèle ng lié ne fonctionneront pas.
Si vous voulez que cela fonctionne, vous devez utiliser le service $compile d'Angular
J'utilise généralement une directive lors du traitement
html
htmlvariable est la variable de code html qui doit être insérée
http://stackoverflow.com/questions/11771513/angularjs-jquery-how-to-get-dynamic-content-working-in-angularjs
J'ai écrit un exemple, comme ci-dessus.