Angular JS конвертировать строку в HTML и просмотреть его на странице - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть строка содержит некоторые теги HTML
, например:

$scope.string = '<div> <span> some text </span> </div>';

Я хочу преобразовать его в HTML-элемент и внести некоторые изменения
, поэтому я сделал следующее:

$scope.stringAfterEdit = angular.element($scope.string).find("span").addClass('newClass');

, затем мне нужно добавить html на страницу после редактирования.
, поэтому я попробовал это:

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

, но не сработало.
есть идеи как это сделать?
Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Я решил это следующим образом:
Примечание Я использую Jquery с angularJS

$scope.string = '<div> <span> some text </span> </div>';
$scope.stringAfterEdit = angular.element($scope.string);
$scope.container = angular.element('.content');
$scope.container.append($scope.stringAfterEdit);

и HTML

<div class="content"></div>
0 голосов
/ 28 ноября 2018

Попробуйте:

  var string = '<div><span> some text </span> </div>';
  var ele = angular.element(string);
  ele.find("span").addClass('newClass');
  $scope.trustedHtml = $sce.trustAsHtml(ele.html());

html:

<div ng-bind-html="trustedHtml"></div>
0 голосов
/ 27 ноября 2018

Вам нужно использовать $sce:

  $scope.string = '<div> <span class="newclass"> some text </span> </div>';

  $scope.trustedHtml = $sce.trustAsHtml($scope.string);

, и здесь вы не можете добавлять любые классы из CSS.Как newClass

А затем HTML:

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

рабочий плункер: http://plnkr.co/edit/JDEkkG9Wyg12LNXdmjDo?p=preview

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