我有一个ng-repeat
,其中包含重复列表中某个项目的过滤器。过滤器工作正常,除非我向ng-repeat
ed数组添加项目。 ng-repeat
看起来像这样:
<div ng-repeat="post in posts">
<div>{{post.created | formatTimestamp}}</div>
<div>{{post.message}}</div>
</div>
formatTimestamp
过滤器肯定有用,可能在这里列出的时间太长,所以我会省略它。我遇到的问题是,当用户发布新帖{I} unshift
新帖子到posts
数组时。帖子按预期显示,但formatTimestamp
过滤器不适用。当我刷新页面时,过滤器确实有效。关于unshift
新帖子的内容会阻止过滤器应用。我尝试使用scope.$digest()
,但这并没有解决问题。新帖子的处理在指令内部,如下所示:
// store the new post in the database, etc.
scope.posts.unshift(data);
scope.$digest(); // didn't have any effect
关于我做错的任何想法?
答案 0 :(得分:0)
如果没有错,你想以相反的顺序打印列表(即最后一个条目在顶部)?
您是否尝试按照here所述的反向顺序打印列表,并使用scope.posts.push(data)
添加新条目。
也许是一种解决方法但如果您认为unshift
是一个问题,那么您可以尝试一下。
为了更好的调试,我希望看到更多的代码