Вам нужно включить angular-sanitize.js
, вы можете загрузить модуль ngSanitize
angular.module('app', ['ngSanitize']);
Вы можете использовать $sanitize
службу, чтобы дезинфицировать свои HTML фрагменты, видите пример ниже:
angular.module('expressionsEscaping', ['ngSanitize'])
.controller('ExpressionsEscapingCtrl', function($scope, $sanitize) {
$scope.msg = 'Hello, <b>World</b>!';
$scope.safeMsg = $sanitize($scope.msg);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html>
<head>
<meta charset="utf-8">
<script src="http://code.angularjs.org/1.0.2/angular.js"></script>
<script src="http://code.angularjs.org/1.0.2/angular-sanitize.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="expressionsEscaping" ng-controller="ExpressionsEscapingCtrl">
<div class="container">
<h2>Angular $sanitize demo</h2>
<p ng-bind="msg"></p>
<p ng-bind-html-unsafe="msg"></p>
<p ng-bind-html="msg"></p>
<p ng-bind-html-unsafe="safeMsg"></p>
<div>Provided by <a onclick="window.open('stackoverflow.com')">Stack Overflow</a>
</div>
</div>
</body>
</html>
Нравится это: 'ng-bind-html =" message.message + getAttachmentTemplate ($ sanitize (message.attachment)) "' – Jaco
Я получаю пустое сообщение, когда я использую '$ sanitize (message.message)' – Mustafa
Извините вызов '$ sanitize' должен выполняться в контроллере – Jaco