我有一个视图,我在从数据库中检索此模板后我正在更新:
<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有关?
答案 0 :(得分:7)
您试图在TrustDangerousSnippet函数中解析input_data.post,但这不存在。
相反,将对象传递给方法如下:
<div ng-bind-html="TrustDangerousSnippet(post.post)">
</div>
将方法更改为:
$scope.TrustDangerousSnippet = function(snippet) {
return $sce.trustAsHtml(snippet);
};
小提琴示例:http://jsfiddle.net/ZxPHW/
修改:此外,您不需要在html中添加{{post.post}}。