我正在开发一个Angular应用程序,它将充当社交媒体仪表板。它将根据搜索条件从Twitter,Instagram和Flickr加载和显示内容。
我正在加载每个资源并将结果存储在名为$scope.items
的数组中,然后在我的视图中,我将它们渲染为:
<div ng-repeat="item in items | orderBy:'galleryTimestamp':true">
<p ng-if="item.galleryType=='instagram'">Instagram Photo</p>
<p ng-if="item.galleryType=='twitter'">Twitter Post</p>
<p ng-if="item.galleryType=='flickr'">Flickr Photo</p>
</div>
这完全没问题,但是我希望能够更好地控制渲染方式。理想情况下,我想控制来自每个来源的内容组合。现在,它将连续吐出5条推文,然后是6张Instagram照片,然后是10条推文,然后是flickr照片。
有没有办法操纵我的$scope.items
数组或过滤或排序这些以使页面看起来更像[Instagram Photo] [Tweet] [Flickr Photo]并重复...集。
答案 0 :(得分:0)
你应该在你的范围内重构你的物品属性,以循环你想要的方式,在这种情况下[Instagram照片] [推特] [Flickr照片]。在这种情况下,我会避免使用ng-if,只是将项重组为:
items = {
instagram: 'instagram thing',
tweet: 'tweet thing',
flickr: 'flicker thing'
}