Добавьте html к содержимому json в NG-Repeat - PullRequest
0 голосов
/ 24 сентября 2018

Я повторяю объекты JSON, используя NG-Repeat.Как включить HTML, например, ссылку, здесь:

        {id: "53",  description: "here is a <a href = '#/detail/'>Link</a> to something", additional: ["2.jpg", "3.jpg" ]}

1 Ответ

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

Вам нужно использовать $sce, чтобы доверять HTML.Мне нравится создавать фильтр и использовать ng-bind-html для тега <span>.Использование фильтра упрощает отображение HTML там, где вам нужно.Вот простой пример.

angular.module('app', [])
  .filter('unsafe', ($sce) => {
    return function(value) {
      return $sce.trustAsHtml(value);
    }
  })
  .controller('ctrl', ($scope) => {
    $scope.items = [{
        id: "53",
        description: "here is a <a href = '#/detail/'>Link</a> to something",
        additional: ["2.jpg", "3.jpg"]
      },
      {
        id: "54",
        description: "here is another <a href = '#/detail/'>Link</a> to something",
        additional: ["4.jpg", "5.jpg"]
      }
    ];
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.2/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <ul>
    <li ng-repeat="item in items"><span ng-bind-html="item.description | unsafe"></span></li>
  </ul>
</div>
...