Maison > interface Web > js tutoriel > Comment compiler des expressions angulaires dans la directive Ng-Bind-HTML

Comment compiler des expressions angulaires dans la directive Ng-Bind-HTML

Barbara Streisand
Libérer: 2024-10-18 15:32:03
original
313 Les gens l'ont consulté

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

AngularJS ng-bind-html: Compiling Angular Code

Introduction

Ng-bind-html directive allows for the dynamic inclusion of HTML code in templates. While it works for basic HTML, angular templates are not interpreted when included. This article provides a solution to compile Angular expressions embedded within ng-bind-html.

Step-by-Step Solution

1. Install Directive:
Install the angular-bind-html-compile directive from GitHub: https://github.com/incuna/angular-bind-html-compile.

2. Include Directive in Module:

angular.module("app", ["angular-bind-html-compile"])
Copier après la connexion

3. Use Directive in Template:

<div bind-html-compile="letterTemplate.content"></div>
Copier après la connexion

Example Usage

Controller Object:

$scope.letter = { user: { name: "John"}}
Copier après la connexion

JSON Response:

{ "letterTemplate":[
    { content: "<span>Dear {{letter.user.name}},</span>" }
]}
Copier après la connexion

HTML Output:

<span>Dear John,</span>
Copier après la connexion

Relevant Directive

(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);
                });
            }
        };
    }]);
}());
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal