跟踪$index是't解决欺骗错误
track by $index isn't solving dupes error
我正在尝试迭代一组对象,并使用Angular在HTML中显示它们。我以前使用过"trackby$index",没有遇到任何问题。但标准错误仍然存在:
错误:
[ngRepeat:dupes] http://errors.angularjs.org/1.3.15/ngRepeat/dupes?p0=(key%2C%20value)%20in%20n&p1=string%3Ab&p2=b
但我已经添加了$index
的曲目。我相信请求数据没有任何问题,因为我已经能够正确显示数据。
<div ng-repeat="n in post.userData.bookmarks track by $index" >
<div ng-repeat="(key, value) in n">
<div><a href="/tuts/{{value}}">{{ key }}</a></div>
</div>
</div>
建议?
数据集:
书签:[{"1234": "Title1"}, {"5678": "Title2"}]
发生的情况是,用户为他们以后想要阅读的帖子添加书签。我将帖子id和帖子标题保存到一个对象中,并将其存储在一个数组中。(实际上,我只是想把它存储到一个对象中,比如{"1234": "Title1", "5678": "Title2"}
,但无法用mongodb实现,因为它似乎不允许您保存为对象数据类型。)
然后我想在他们的个人资料中ng-repeat
用户的书签。我知道如何做到这一点的唯一方法是遍历数组,然后遍历每个对象。当然,每个对象中只有一个项目。但这就是为什么我有第二个ng-repeat
。但是,当我通过$index
对两者进行跟踪时,正如下面列出的答案之一所示,它仍然没有给出所需的行为。
可能会造成问题的是,我还有一种仪表板,在查看任何给定的帖子时都可以从侧面查看。在仪表板上,他们应该能够看到自己的书签。此外,如果他们在他们已添加书签的帖子上,如果他们单击帖子上的(取消)书签按钮,则会自动删除书签面板上的书签。
但这些建议都没有奏效。
您忘记了另一个ng重复:<div ng-repeat="(key, value) in n track by $index">
我不知道你为什么写两次重复
<div ng-repeat="n in post.userData.bookmarks track by $index" >
<a ng-href="/tuts/{{n.key}}">{{ n.key}}</a>
</div>
或
<div ng-repeat="(key,value) in post.userData.bookmarks track by $index" >
<a ng-href="/tuts/{{value}}">{{ value}}</a>
</div>
关键是从对象中得到的任何东西。
- 如何解决Yii中的页面刷新问题
- 测试Angular Service解决错误回调中的promise
- 如何解决Access Control Allow Origin错误
- call()和apply()实际上是用来欺骗方法处理类似数组的对象的
- 如何解决这种情况下的非法调用类型错误
- 简单的ES6承诺问题-交换解决和拒绝参数
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- iPad虚拟键盘-哪一个-javasctript解决方案
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- 如何解决'窗口未定义'终端上的节点JS出错
- Angularjs:如何在使用'解决'在$routeProvider中
- 可以't解决Javascript错误
- AJAX HTTP基本身份验证解决方案
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 如何解决此错误
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- CORS故障无法解决jquery,laravel5.2
- 跟踪$index是't解决欺骗错误