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