加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angularjs:ng-bind-html&ng-repeat

发布时间:2020-12-17 07:07:58 所属栏目:安全 来源:网络整理
导读:我有一个视图,我从数据库中检索此模板后我正在更新: div class="row" ng-repeat="post in posts" div class="col-lg-9 col-lg-offset-2" !-- blog entry -- br ng-hide="$last" h1a href="{{'#/post/' + post.title}}"{{post.title}} /a/h1 pspan class="gl
我有一个视图,我从数据库中检索此模板后我正在更新:

<div class="row" ng-repeat="post in posts">
        <div class="col-lg-9 col-lg-offset-2">        
          <!-- blog entry -->
          <br ng-hide="$last">
          <h1><a href="{{'#/post/' + post.title}}">{{post.title}} </a></h1>
          <p><span class="glyphicon glyphicon-time"></span> Posted on {{ post.time_Date | date:'MM/dd/yyyy @ h:mma'}} </p>
          <div class="image_Center">
            <!-- <img ng-src="{{post.imageUrl}}" width="550" height="450"> -->
            <img ng-src="{{post.imageUrl}}" width="450" height="350">
          </div>
          <br>
          <br>
          <div ng-bind-html="TrustDangerousSnippet()">
            <p>{{post.post}}</p>
          </div>
............not properly closed(huge template)

我正在尝试使用我存储的markdown文本更新{{post.post}}并使用我的控制器正确显示它.代码如下:

$scope.posts = input_data;
$scope.TrustDangerousSnippet = function() {
  return $sce.trustAsHtml(input_data.post);
};

input_data是来自我的服务器的JSON对象(博客文章)的集合.问题是没有显示整个对象,但如果要显示其中一个对象,它将呈现给页面.可能是什么问题呢?

$scope.posts = input_data;
$scope.TrustDangerousSnippet = function() {
  return $sce.trustAsHtml(input_data[1].post);
};

这是否与正确使用ng-repeat有关?

解决方法

您试图在TrustDangerousSnippet函数中解析input_data.post,但这不存在.

相反,将对象传递给方法,如下所示:

<div ng-bind-html="TrustDangerousSnippet(post.post)">
</div>

将方法更改为:

$scope.TrustDangerousSnippet = function(snippet) {
  return $sce.trustAsHtml(snippet);
};

小提琴示例:http://jsfiddle.net/ZxPHW/

编辑:此外,您不需要将{{post.post}}添加到html.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读