Как напечатать html строку как html Если, например, я: var = "<a>Asd</a>"; <span>{{ var }}</span> Строка печатается как текст, а не как html, поэтому как мне напечатать html? Ответ 1 Вы должны использовать директиву ng-bind-html. Создает привязку, которая будет innerHTML результатом оценки выражение в текущий элемент безопасным способом. <ANY ng-bind-html="{expression}"> ... </ANY> Ответ 2 Прежде чем использовать директиву ng-bind-html, вы должны включить службу $sanitize, иначе она выведет ошибку. Ошибка: $sce: небезопасно Требовать безопасного/надежного значения Попытка использовать небезопасную ценность в безопасном контексте. Error: [$sce:unsafe] http://errors.angularjs.org/1.4.5/$sce/unsafe at Error (native) Правильный путь: <script src="angular.js"></script> <script src="angular-sanitize.js"></script> var myApp = angular.module('app', ['ngSanitize']); myApp.controller('MyController', ['$scope', function($scope) { $scope.myHTML = '<a href="#">Hello, World!</a>'; }]); <div ng-controller="MyController"> <p ng-bind-html="myHTML"></p> </div> https://docs.angularjs.org/api/ngSanitize https://docs.angularjs.org/api/ng/directive/ngBindHtml Ответ 3 Вы также можете попробовать что-то вроде этого: app.filter('to_trusted', ['$sce', function($sce) { return function(text) { return $sce.trustAsHtml(text); }; }]); а затем, в поле зрения: ng-bind-html=" myHTML | to_trusted"
Ответ 1 Вы должны использовать директиву ng-bind-html. Создает привязку, которая будет innerHTML результатом оценки выражение в текущий элемент безопасным способом. <ANY ng-bind-html="{expression}"> ... </ANY>
Ответ 2 Прежде чем использовать директиву ng-bind-html, вы должны включить службу $sanitize, иначе она выведет ошибку. Ошибка: $sce: небезопасно Требовать безопасного/надежного значения Попытка использовать небезопасную ценность в безопасном контексте. Error: [$sce:unsafe] http://errors.angularjs.org/1.4.5/$sce/unsafe at Error (native) Правильный путь: <script src="angular.js"></script> <script src="angular-sanitize.js"></script> var myApp = angular.module('app', ['ngSanitize']); myApp.controller('MyController', ['$scope', function($scope) { $scope.myHTML = '<a href="#">Hello, World!</a>'; }]); <div ng-controller="MyController"> <p ng-bind-html="myHTML"></p> </div> https://docs.angularjs.org/api/ngSanitize https://docs.angularjs.org/api/ng/directive/ngBindHtml
Ответ 3 Вы также можете попробовать что-то вроде этого: app.filter('to_trusted', ['$sce', function($sce) { return function(text) { return $sce.trustAsHtml(text); }; }]); а затем, в поле зрения: ng-bind-html=" myHTML | to_trusted"