1
我有一个webserver(node.js),它提供包含以下格式的语言列表的JSON文件:{ "en" : "English", "fr" : "French" }
(依此类推)。还有一个单独的JSON即设置字典:{ "currentLanguage" : "en" }
(还有其他设置)。ngOptions按值进行比较
的选择是如下:
<select ng-options="for (code, name) in languages track by code" ng-model="config.currentLanguage"></select>
然而,这总是导致一个空白选项被添加和选择。这是因为是通过引用而不是按值来比较值。有没有办法强制它使用价值呢?这似乎是一个很常见的事情,要将当前的选择数据与用于生成选项的数据分开,还是有另外一种方法可以解决这个问题?
哦,我以为'轨道by'将意味着所有跟踪由完成下面的表达。 – 2014-10-05 14:34:27
track by only通过角度来检查代码,以确定两个项目是否相同:如果遇到另一个具有相同轨道值的项目,则会跳过该项目。否则,当你发现重复时,你的ng-repeat会发出错误。这条线解决了您的问题,还是您还遇到一些不寻常的行为? – Sycomor 2014-10-05 17:33:59