Angular $ http.get始终更改JSON中的顺序

时间:2014-06-04 23:49:25

标签: javascript json angularjs

КI我的服务器上有metadata.json

{
    "type":    "list",
    "columns": 2,
    "buttons": [
        "jobs",
        "agencies",
        "career_guide",
        "livelihood_guide"
    ]
}

这是一种自建导航。 buttons属性实际上是一个文件夹,其中包含与其他描述相同的文件。

问题是当我在浏览器中按Ctrl + F5或Command + R(硬刷新)时,这些按钮按正确顺序列出。但是当我点击按钮然后返回时,我的意思是开始导航,订单会被更改,直到我再次刷新页面。

我如何确保订单相同?我需要的订单与在json文件中输入的完全一样。

1 个答案:

答案 0 :(得分:2)

您应该考虑将字符串的按钮数组扩展为对象数组。如果每个条目成为具有订单值和名称的对象,则可以保证显示顺序准确。您可以在构建JSON时在服务器端创建这些对象,也可以在将按钮放入$scope之前在控制器中创建。

orderBy以数字和字母顺序排除开箱即用的排序;这些都不符合您的订购要求。实现订单标识符将允许您利用orderBy方法。 Here's a fiddle of what I'm suggesting