javascript - 如何在 ng-bind-html 中呈现 Angular 变量的内容

标签 javascript html angularjs ng-bind-html ng-bind

我正在从保存为 varchar 的数据库中获取 HTML 内容到前端 javascript 代码。它存储在一个名为 vm.htmlContent 的变量中,然后我想在我的网页中再次将此字符串类型的 HTML 内容显示为 HTML。我使用 ng-bind-html Angular Directive(指令)来执行此操作。我存储在 vm.htmlContent 变量中的 HTML 内容是:

<p> Date: </ p> <p> Time: </ p> <p> Venue: </ p>

当前的 javascript 代码如下所示:

<ng-bind-html
    ng bind-html="vm.htmlContent">
 </ng-bind-html>

网页中的输出是:

Date:
Time:
Venue:

我想在此 ng-bind-html 中添加其他 Angular 变量的日期、时间和地点。 日期、时间和地点变量是 vm.datevm.timevm.venue 并且他们清楚地保留了相关数据。 有没有办法在不将字符串内容吐到 vm.htmlContent 变量中的情况下做到这一点?

最佳答案

用replace试试这个

    
    
  angular.module("myApp", []).controller("myCtrl", function($scope,$sce) {
  $scope.date="03/07/2018";
  $scope.time="1.00 PM";
  $scope.venue="US"
  $scope.myTexts = "<p> Date: </ p> <p> Time: </ p> <p> Venue: </ p>";
  var replacedData =  $scope.myTexts.replace("Date:","Date:" + $scope.date).replace("Time:","Time:" + $scope.time).replace("Venue:","Venue: " + $scope.venue);
  $scope.myText = $sce.trustAsHtml(replacedData);      
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
 <div ng-app="myApp" ng-controller="myCtrl">    
        <p ng-bind-html="myText"></p>    
 </div>

关于javascript - 如何在 ng-bind-html 中呈现 Angular 变量的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49145299/

相关文章:

javascript - 如何在保证在Android中工作的网页中制作输入类型="file"字段?

javascript - 在 Angular ui-router 中实现中间件

javascript - 使用extendscript更改对象的颜色

javascript - 为什么需要先显示图片才能让 jquery 图像放大镜工作?

javascript - jquery 从格式 01/02/2010 的日期开始 trim 前导零

javascript - HTML5 网络音频 - 减慢音频播放提前中断

html - 如何创建响应式 H3 文本

javascript - NodeJS如何通过输入特定值来获取数据

javascript - 为什么 CSS 转换发生在 unshift() 而不是 ng-repeat 列表中的 shift()?

angularjs - 如何在 Angular JS 中向 ng-dialog 添加标题、消息、按钮,就像我们在 JQuery 提示符中所做的那样