Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 棱角;“重复钥匙插入中继器”;仅在一台机器上出现错误-即Chrome&;FF_Javascript_Angularjs_Angularjs Ng Repeat_Selectlist - Fatal编程技术网

Javascript 棱角;“重复钥匙插入中继器”;仅在一台机器上出现错误-即Chrome&;FF

Javascript 棱角;“重复钥匙插入中继器”;仅在一台机器上出现错误-即Chrome&;FF,javascript,angularjs,angularjs-ng-repeat,selectlist,Javascript,Angularjs,Angularjs Ng Repeat,Selectlist,我不打算在这里发布代码,因为有问题的代码库实际上不是我的,而且由于问题只出现在所有三种浏览器中的一台机器上,我认为这是机器级别的安全性/配置/安装版本问题 我有一个AngularJs页面,该页面带有一个包含ng repeat属性的控件 <div ng-if="centralObject.OfficerList && centralObject.OfficerList.length > 0" ng-repeat="officer in centralObje

我不打算在这里发布代码,因为有问题的代码库实际上不是我的,而且由于问题只出现在所有三种浏览器中的一台机器上,我认为这是机器级别的安全性/配置/安装版本问题

我有一个AngularJs页面,该页面带有一个包含ng repeat属性的控件

<div ng-if="centralObject.OfficerList && centralObject.OfficerList.length > 0" 
     ng-repeat="officer in centralObject.OfficerList" 
     class="officer-form ng-scope">

页面上的每个实例都具有相同的ng repeat属性值

<div ng-if="centralObject.OfficerList && centralObject.OfficerList.length > 0" 
     ng-repeat="officer in centralObject.OfficerList" 
     class="officer-form ng-scope">
在重复的
的每个实例中都有一个选择列表,其中列出了7种可能的军官头衔

这在世界上的每台机器上都能工作,除了1台。在那台机器上,Chrome控制台窗口在中继器中抛出一个重复的钥匙错误,并抱怨军官名单

该机器上的选择列表有311个选项,值为1到311,所有选项都带有空标签

这在这台机器上的所有三个主要浏览器上都会发生,这就是为什么我没有发布源代码。这似乎是一个安全设置或其他一些机器级别的问题

有什么想法吗

谢谢


David

请发布一个带有适当信息的plunker或fiddle链接。 您可以尝试按$index跟踪或按someuniqueProperty跟踪

<div ng-if="centralObject.OfficerList && centralObject.OfficerList.length > 0" ng-repeat="officer in centralObject.OfficerList track by $index" class="officer-form ng-scope">



uniqueId是为每个官员保存唯一值的属性。希望这对你的问题陈述有所帮助,但是,在你的ng repeat中,你可以尝试添加
track by$index
或一些独特的字段,检查问题是,在一台机器上,我在每个浏览器中都收到angularjs duplicate key in repeater错误,而在其他6台机器上没有。有效的有7个选项的选择,错误的有311个选项的选择,没有标签。这里没有足够的代码关键点是:
centralObject.OfficerList
?很难说根本原因是什么。最可能的原因是您的
officeList
是原语(字符串?)列表,并且存在重复项。也许-只是也许-在那台机器上安装了一些疯狂的防火墙,只删除一个请求。正因为如此,您得到的列表中包含
未定义的
,而不是实际值。无论如何,调试对您来说更容易。