我有2个数据库表,字母和 letterTemplates 与Angularjs前端。
在letterTemplates.content列中,我有一个带有嵌入式角度表达式的html模板,如下所示:
<p> Dear {{letter.user.name}},</p>
在字母预览中,我会像这样显示letterTemplate.content:
<div ng-bind-html="letterTemplate.content"></div>
返回以下输出:
Dear {{letter.user.name}},
如何让Angular表达式执行?
How to make ng-bind-html compile angularjs code中概述的解决方案依赖于使用硬编码的Angular模板,而我需要从API响应中解析html和angular语句。
答案 0 :(得分:0)
以下是我如何使用它:
第1步。 安装此指令:https://github.com/incuna/angular-bind-html-compile
第2步。在模块中包含该指令。
angular.module("app", ["angular-bind-html-compile"])
第3步。在模板中使用该指令:
<div bind-html-compile="letterTemplate.content"></div>
输出=
Dear John,
供参考,这里是相关指令:
(function () {
'use strict';
var module = angular.module('angular-bind-html-compile', []);
module.directive('bindHtmlCompile', ['$compile', function ($compile) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
scope.$watch(function () {
return scope.$eval(attrs.bindHtmlCompile);
}, function (value) {
element.html(value);
$compile(element.contents())(scope);
});
}
};
}]);
}());