AngularJS:在数据库

时间:2015-04-27 10:11:20

标签: javascript angularjs

我有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语句。

1 个答案:

答案 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);
                });
            }
        };
    }]);
}());