Показывать пользовательский ввод в виде HTML — angular1

#angularjs

#angularjs

Вопрос:

У меня в моем контроллере есть переменная, которая определена в $scope, которая содержит ввод html.

 function init() {
        $scope.message = params.message;
    }
 

Где params.message может быть, например, что-то вроде этого:

 <h1>Hellow world</h1><p>Hi again</p><br><br> <b> End </b>
 

в html я использую его следующим образом:

     <div ng-show="showTab == 'EN'">
        <div class='library-padding'>
            <p>{{message}}></p>
        </div>
    </div>
 

Я хочу, чтобы он отображался как проанализированный html, что означает, что сами теги не будут отображаться, но они отображаются в виде обычного текста, включая все теги.

Как я могу сделать так, чтобы этот вводимый текст анализировался и вел себя как html?

Спасибо!

Ответ №1:

Вы ищете директиву ngBindHtml:

https://docs.angularjs.org/api/ng/directive/ngBindHtml

 <div ng-show="showTab == 'EN'">
    <div class='library-padding'>
        <p ng-bind-html="message"></p>
    </div>
</div>