代码之家  ›  专栏  ›  技术社区  ›  Yahya Essam

将字符串转换为HTML并在页面中预览

  •  1
  • Yahya Essam  · 技术社区  · 6 年前


    例如:

    $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 回复  |  直到 6 年前
        1
  •  0
  •   BartoszTermena    6 年前

    你需要使用 $sce :

      $scope.string = '<div> <span class="newclass"> some text </span> </div>';
    
      $scope.trustedHtml = $sce.trustAsHtml($scope.string);
    

    newClass

    然后是html:

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

    http://plnkr.co/edit/JDEkkG9Wyg12LNXdmjDo?p=preview

        2
  •  0
  •   Yahya Essam    6 年前

    我这样解决了这个问题:
    我将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);
    

    <div class="content"></div>
    
        3
  •  0
  •   Rameez Raja    6 年前

    试试这个:

      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>