首页 > web前端 > js教程 > 如何在 Ng-Bind-HTML 指令中编译角度表达式

如何在 Ng-Bind-HTML 指令中编译角度表达式

Barbara Streisand
发布: 2024-10-18 15:32:03
原创
255 人浏览过

How to Compile Angular Expressions in Ng-Bind-HTML Directive

AngularJS ng-bind-html:编译 Angular 代码

简介

NG-bind-html 指令允许动态包含 HTML 代码模板。虽然它适用于基本 HTML,但角度模板在包含时不会被解释。本文提供了一个编译嵌入 ng-bind-html 中的 Angular 表达式的解决方案。

分步解决方案

1.安装指令:
从 GitHub 安装 angular-bind-html-compile 指令:https://github.com/incuna/angular-bind-html-compile。

2 。在模块中包含指令:

angular.module("app", ["angular-bind-html-compile"])
登录后复制

3.在模板中使用指令:

<div bind-html-compile="letterTemplate.content"></div>
登录后复制

用法示例

控制器对象:

$scope.letter = { user: { name: "John"}}
登录后复制

JSON 响应:

{ "letterTemplate":[
    { content: "<span>Dear {{letter.user.name}},</span>" }
]}
登录后复制

HTML 输出:

<span>Dear John,</span>
登录后复制

相关指令

(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);
                });
            }
        };
    }]);
}());
登录后复制

以上是如何在 Ng-Bind-HTML 指令中编译角度表达式的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板