Angularjs 生产中的中继器不允许重复:重复

Angularjs 生产中的中继器不允许重复:重复,angularjs,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Scope,Angularjs Ng Repeat,因此,当我在本地服务器上运行它时,以下功能可以正常工作: html <div class="container" ng-controller="TheController"> <ul id="grid" class="grid"> <li ng-repeat="guy in info"> <a href="#"> <img ng-src="{{ guy.img }

因此,当我在本地服务器上运行它时,以下功能可以正常工作:

html

<div class="container" ng-controller="TheController">
    <ul id="grid" class="grid">
        <li ng-repeat="guy in info">
            <a href="#">
                <img ng-src="{{ guy.img }}" alt="{{ guy.name }}">
                <p class="guy-name">{{ guy.name }}</p>
            </a>
        </li>
    </ul>
</div> 
数据

[
  {
    "img":"someImg.jpg",
    "name":"Paul Saul",
    "title":"Boss"
  },
  {
    "img":"anotherImg.jpg",
    "name":"Karalyn",
    "title":"Web"
  },
  {
    "img":"img.jpg",
    "name":"Derp",
    "title":"Retail"
  }
]

但当我在生产中运行它时,我得到一个重复:dups错误。你知道为什么吗?我尝试按照中的建议
添加track by$index
,错误消失了,但没有呈现数据,并无限创建空白DOM节点。已经通读过了,但似乎无法理解。我重复一遍,上述方法在本地有效,没有错误;live it会抛出错误。

当您以异步方式更改作用域的变量时(我认为$http是异步的),您需要在所有赋值之后使用
$scope.apply()
。您可以尝试使用apply方法。trying$scope。$apply()只会抛出一个提示,我将查看生产服务器返回的内容。听起来它可能返回[undefined,undefined]或[null,null]或类似的数组。只需将浏览器指向以验证发送的数据是否有效。@JoeEnzminger,数据被服务器阻止。好了,很好,去了,去了!
[
  {
    "img":"someImg.jpg",
    "name":"Paul Saul",
    "title":"Boss"
  },
  {
    "img":"anotherImg.jpg",
    "name":"Karalyn",
    "title":"Web"
  },
  {
    "img":"img.jpg",
    "name":"Derp",
    "title":"Retail"
  }
]