Javascript 棱角;“重复钥匙插入中继器”;仅在一台机器上出现错误-即Chrome&;FF
我不打算在这里发布代码,因为有问题的代码库实际上不是我的,而且由于问题只出现在所有三种浏览器中的一台机器上,我认为这是机器级别的安全性/配置/安装版本问题 我有一个AngularJs页面,该页面带有一个包含ng repeat属性的控件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
<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
是原语(字符串?)列表,并且存在重复项。也许-只是也许-在那台机器上安装了一些疯狂的防火墙,只删除一个请求。正因为如此,您得到的列表中包含未定义的,而不是实际值。无论如何,调试对您来说更容易。