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
寫過一個例子,如上。