在flapper news / mean-stack-tutorial中使用$index的问题



我正在尝试遵循这个教程https://thinkster.io/mean-stack-tutorial/。我已经做了所有的事情,直到"开始节点"部分。基本上我只有angularJS部分,没有后端部分。然而,我已经有ui路由问题。我已经添加了我的项目在app.js如下…

 posts: [
             { title: "Post 1", link: "#", upvotes: 5, comments: [] },
             { title: "Post 2", link: "#", upvotes: 2, comments: [] },
             { title: "Post 3", link: "#", upvotes: 5, comments: [] },
             { title: "Post 4", link: "#", upvotes: 9, comments: [] },
             { title: "Post 5", link: "#", upvotes: 4, comments: [] }
 ]

…但按upvotes的数量排序后…

<div ng-repeat="post in posts | orderBy:'-upvotes'">

…原来的$index似乎不再匹配。例如,最初我将Post 2添加为项目2。但是在排序之后,它显示为最后一个,因为它的赞成票数最少。现在,如果我试图通过点击"评论"来查看帖子页面…我看标题错了。所以如果我点击"帖子2"的"评论",我看到的标题是"帖子5"……因为在排序之后,'Post 2'是最后一项,而angularJS试图为最后一个索引加载posts页面,但它从原始列表中打开了'Post 5'的索引。最初,我预计$index是无关紧要的,因为在app.js中,我们应该将MainCtrl和PostsCtrl与相同的服务工厂对象连接起来。然而,事实并非如此。

也许,我只是在某个地方搞砸了,因为这似乎是一个太基本的问题,在教程中坚持了这么长时间。有人能确认一下这个教程是否真的有效吗?

ps -我理解在教程中进一步,一旦mongoDB涉及教程将开始使用适当的id而不是$index,这应该解决问题…但我仍然想知道我现在做错了什么。谢谢。

你可以在这个问题中找到要执行的代码。导航到接受的答案,并运行代码/代码片段,看看我的意思。

在检查了其他人遵循同一教程的代码后,我得出的结论是我正确地遵循了教程。是教程本身使用的代码导致了这种行为。事实上,直到你完成了教程后端(即开始节点)……一旦你改变了索引,angularJS部分本身甚至无法通过增加upvotes来显示正确的评论列表。

相关内容

  • 没有找到相关文章

最新更新