Это jsFiddle объясняет всеКак я могу получить свой обработанный html как html вместо обычного текста?
Мой код отделяет хештегов, например, #riots = <span class="hashtags">#riots</span>
, но он печатается в виде открытого текста, а не HTML. Что я делаю не так?
function formCtrl($scope){
$scope.$watch(function() {
$scope.description = "Wow, it's crazy over here! #baltimore #riots";
$scope.vidTags = $scope.description.match(/(^|\s)(#[a-z\d-]+)/ig);
$scope.desc = $scope.description.replace(/(^|\s)(#[a-z\d-]+)/ig, "$1<span class='hashtag'>$2</span>");
})
}
#description {
width: 300px;
height: 3em;
}
.hashtag {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-controller="formCtrl">
<textarea ng-model="description" id="description"></textarea>
<br />
vidTags: {{vidTags}}
<br />
desc: {{desc}}
<br />
</div>
Может быть обманутым? http://stackoverflow.com/questions/14761724/angularjs-insert-html-from-a-string – RenaissanceProgrammer
читать $ sce и $ santize https://docs.angularjs.org/api/ng/service/$sce –
Спасибо для вашего комментария @RenaissanceProgrammer. Ответ не помог, но первый комментарий ниже этого сделал! Пока я просто хочу, чтобы он работал. Позже я попытаюсь получить $ sce или $ sanatize для работы – Jay