This question already has an answer here:
ngRepeat:dupes - duplicates in repeater with nested ngrepeat and empty strings
(1个答案)
两年前关闭。
我在这样的下拉菜单中发现这个错误:
           <div class='dropdown'>
          <span>Seleziona Nazione:      </span>
          <select class='opzioni' ng-model="nazioni">
          <option ng-repeat="nazione in nazioni" value='nazione'>{{nazione}}
          </option>
          </select>
           </div>

在我的控制器里我有这个代码:
          $scope.nazioni = ['Austria', 'Belgio', 'Bulgaria', 'Croazia', 'Danimarca', 'Finlandia', 'Francia', 'Germania', 'Grecia', 'Inghilterra', 'Italia', 'Norvegia', 'Olanda', 'Polonia', 'Portogallo', 'Rep. Ceca', 'Romania', 'Russia', 'Spagna', 'Turchia', 'Svezia', 'Svizzera', 'Ucraina'];

当我运行它并选择一个国家时,我可以在控制台中读取此错误:
angular.js:14525错误:[ngRepeat:dupes]
http://errors.angularjs.org/1.6.4/ngRepeat/dupes?p0=nazione%20in%20nazioni&p1=string%3An&p2=n
当我使用来自数据库的列表时,又出现了同样的错误,比如:
         $http.get('/api/teams').then(function(response){
        $scope.teams = response.data;
        console.log(response.data);
    });

在html中:
            <div class='SquadraCasa'>
         <span>Seleziona Squadra Casa:      </span>
         <select class='opzioni' ng-model="teams">
         <option  ng-repeat="team in teams" value='team.Nome'>{{team.Nome}}
         </option>
         </select>
         </div>

最佳答案

按$index添加曲目

<div class='dropdown'>
      <span>Seleziona Nazione:      </span>
      <select class='opzioni' ng-model="nazioniSelected">
      <option ng-repeat="nazione in nazioni track by $index" value='{{nazione}}'>{{nazione}}
      </option>
      </select>
</div>

also can improve like this,

<div class='dropdown'>
      <span>Seleziona Nazione:      </span>
      <select ng-options="item as item for item in nazioni track by $index" class='opzioni' ng-model="nazioniSelected">
      <option value="">Select...</option>
      </select>
</div>

这是因为你的阵列不可识别。此外,ng模型需要与迭代的数组不同。

10-07 21:57