首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将带有HTML标记的输出从AngularJs传递到HTML

将带有HTML标记的输出从AngularJs传递到HTML
EN

Stack Overflow用户
提问于 2020-03-04 02:42:32
回答 2查看 46关注 0票数 0

我有一个脚本,它从包含一些HTML的API调用中获取数据,以便在HTML上正确显示数据。我从python获取数据,并使用flask http post将其保存到AngularJs中的一个变量中。

请看这个jsfiddle:https://jsfiddle.net/2mydubL8/

HTML:

代码语言:javascript
复制
<div ng-app ng-controller="htmController">
  <input type="submit" ng-click="submit()" value="Submit"></input>
  <pre>{{output}}</pre> </div>

JS:

代码语言:javascript
复制
function htmController($scope) {
  //Result data comes from an API call and looks something like below
  $scope.result = '\r\n<b><mark>Hostname: switch_01:</mark></b>\r\n\r\n\r\nservice password-encryption\r\nservice compress-config\r\n!\r\nhostname switch_01\r\n!\r\nlogging buffered informational\r\nno logging console\r\naaa new-model\r\naaa authentication login default group tacacs+ line\r\n\r\n<b><mark>Hostname: switch_02:</mark></b>\r\n\r\n\r\nservice password-encryption\r\nservice compress-config\r\n!\r\nhostname switch_02\r\n!\r\nlogging buffered informational\r\nno logging console\r\naaa new-model\r\naaa authentication login default group tacacs+ line\r\n';  
  $scope.submit = function () {
     $scope.output = $scope.result;
    }
};

我希望HTML页面应用和标记,而不是像jsfiddle那样将标记显示为输出。

我希望HTML上的输出将显示"Hostname:“行,并带有粗体()和突出显示()。请给我建议。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-03-04 02:52:15

您可以使用ngSanitize来呈现html

代码语言:javascript
复制
var app = angular.module("myApp", ['ngSanitize']);
app.controller("htmController", htmController);

function htmController($scope) {
  //Result data comes from an API call and looks something like below
  $scope.result = '\r\n<b><mark>Hostname: switch_01:</mark></b>\r\n\r\n\r\nservice password-encryption\r\nservice compress-config\r\n!\r\nhostname switch_01\r\n!\r\nlogging buffered informational\r\nno logging console\r\naaa new-model\r\naaa authentication login default group tacacs+ line\r\n\r\n<b><mark>Hostname: switch_02:</mark></b>\r\n\r\n\r\nservice password-encryption\r\nservice compress-config\r\n!\r\nhostname switch_02\r\n!\r\nlogging buffered informational\r\nno logging console\r\naaa new-model\r\naaa authentication login default group tacacs+ line\r\n';  
  $scope.submit = function () {
     $scope.output = $scope.result;
    }
};
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-sanitize.js"></script>
<body>

<div ng-app="myApp" ng-controller="htmController">
  <input type="submit" ng-click="submit()" value="Submit">
    <p ng-bind-html="output"></p>
</div>
</body>

票数 0
EN

Stack Overflow用户

发布于 2020-03-04 02:47:57

看起来您可以使用ng-bind-html-unsafe目录将文本解析为html。

代码语言:javascript
复制
<pre ng-bind-html-unsafe="output"></pre>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60513661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档