我有以下使用 ng-repeat 来显示博客文章:
data-ng-repeat="post in posts | filter: {category: filterCategory} | limitTo:12 ">
'filterCategory' 是一个范围变量,我通过 ng-click 更改一组列表项:
<li class="filter" ng-repeat="post in (posts | unique: 'category._id' )" ng-click="setFilterCategory(post.category._id)">
由以下控制:
$scope.setFilterCategory = function(id) {
$scope.filterCategory = id;
}
问题是,当用户单击其中一个列表项并setFilterCategory()更改范围内的filterCategory时,会显示所有帖子(好像没有过滤器一样),然后应用过滤器。我想避免这种过渡,直接从前一个过滤器转到下一个过滤器。有什么我可以做的吗?
我认为这与摘要周期有关,但我没有足够的经验来准确说明我应该改变什么,如果有的话。
编辑#1:
我试图在小提琴中重现(http://jsfiddle.net/igorauad/w4mkny0e/),但没有成功。它在这个小提琴中工作正常,而在我的应用程序中它需要更长的时间。我不知道它是否有区别,但在我的应用程序中,我从资源加载帖子,而在小提琴中它们是静态声明的。