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);
});
}
};
});
angular出于安全考虑,我们插入的html代码里的事件和绑定的ng-model都不会起作用。
如果要起作用,需要使用angular的$compile service
我一般处理的时候会使用一个directive
html
htmlvariable是需要插入的html代码变量
http://stackoverflow.com/questions/11771513/angularjs-jquery-how-to-get-dynamic-content-working-in-angularjs
写过一个例子,如上。