【发布时间】:2016-12-15 10:14:02
【问题描述】:
我需要使用 ng-repeat 实现提要。提要项目必须按新近度排序。但是,我不可能为每个项目使用相同的模板,因为事件和行为是不同的。使用 ng-if 来呈现这样的提要事件有意义吗?
<ul ng-controller="FeedController as FeedCtrl">
<li ng-repeat="feedItem in FeedCtrl.feedFactory.feedItems | orderBy '-date_created'">
<div feed-comment-liked ng-if="feedItem.type == 'comment_liked'" item-info ="feedItem">
<div feed-comment-reply ng-if="feedItem.type == 'comment_reply'" item-info ="feedItem">
<div feed-friend-request ng-if="feedItem.type == 'friend-request'" item-info ="feedItem">
</li>
</ul>
这当然需要一些名为 feedCommentLiked、feedCommentReply 和 feedFriendRequest 的指令,每个指令都有自己的模板,并通过 item-info 绑定获取它们的数据。
我认为这没问题,但我希望其他人也能走这条路。为什么我不包含多个 ng-repeat 列表的最明显限制是它们需要按相同的“date_created”属性排序。
【问题讨论】:
标签: angularjs