AngularJS - Использование интерполяции в HTML-шаблон - PullRequest
0 голосов
/ 26 сентября 2018

Не уверен, что кто-то сталкивался с такой ситуацией раньше, глядя на Google, я не могу найти примеры.По сути, я создаю длинный HTML-шаблон и оборачиваю его в ng-bing-html, он загружает мой HTML, но он не загружает мою интерполяцию.Позвольте привести краткий пример:

Контроллер:

$scope.example_text_here = "Hello World!"
$scope.HTML_template = "<p><strong> Example: </strong> {{ example_text_here }}</p>"

HTML:

<div ng-bind-html="HTML_template"></div>

Вывод

Пример: {{example_text_here}}

Что я ожидаю:

Пример: Hello world!

Кто-нибудь знает, как этого добиться?

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Попробуйте

1002 *
0 голосов
/ 26 сентября 2018

Я думаю, вы бы использовали $sce сервис AngularJS .

Контроллер:

angular.module('app', [...])

.controller('myCtrl', function($scope, $sce) {
  ...
  $scope.trustAsHtml = function(params) {
    return $sce.trustAsHtml(params);
  };
  ...
  $scope.example_text_here = "Hello World!";
  $scope.HTML_template = "<p><strong> Example: </strong> {{ example_text_here }}</p>";
  ...
});

Разметка:

<div ng-bind-html="trustAsHtml(HTML_template)"></div>

Теперь надеемся, что вы получите ожидаемый ожидаемый результат.Благодаря.

0 голосов
/ 26 сентября 2018

Вы должны использовать модуль $ interpolate, а затем ввести текущую область или даже $ compile.Подробнее https://docs.angularjs.org/api/ng/service/$interpolate

$interpolate($scope.HTML_template)($scope)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...