我想为每个项目展示不同的描述。 这是控制器:
todoApp.controller('todos',function($scope,todoFactory){
todoFactory.getTodos().success(function (data) {
courses = x2js.xml_str2json(data);
$scope.todos = courses.rss.channel.item;
for(var i = 0 ; i < $scope.todos.length ; i++){
item = $scope.todos[i];
console.log(item.description);
$scope.message = item.description;
}
});
这是html:
<div ng-controller="todos" class="list" style="padding-top: 8%">
<div class="list card" ng-repeat="todo in todos | filter:search" >
<div class="item item-avatar" ng-click="openLink(todo.link)" >
<img src="Bla-Bla-Logo-1.png">
<h2>{{todo.title}}</h2>
<p>{{todo.pubDate | limitTo:25 }}</p>
</div>
<div class="item item-body">
<p ng-bind-html="message"></p>
<p>
<a href="#" class="subdued">1 Like</a>
<a href="#" class="subdued">5 Comments</a>
</p>
</div>
</div>
<!--end list card-->
</div>
<!--end todos-->
只是解释代码我得到xml并转换为json所以todos是对象数组。 消息正在进入每个对象并获取描述(但在描述中有标签,所以我使用ng-bind-html指令正确显示它。)
我知道$ scope.message只会保留最后一个描述。如何使它属于ng-repeat所以我可以得到不同项目的不同描述?
感谢。
答案 0 :(得分:2)
替换
<p ng-bind-html="message"></p>
与
<p ng-bind-html="todo.description"></p>
答案 1 :(得分:1)
请提供您想要重复显示的数据。 如何表示数据。您将获得最后一个,因为它是最重要的。
“ngBind”属性告诉Angular将指定HTML元素的文本内容替换为给定表达式的值,并在该表达式的值更改时更新文本内容。
通常,您不直接使用“ngBind”,而是使用类似{{expression}}的双重卷标,它类似但不那么详细。