javascript - Angular $http.get 总是改变 JSON 中的顺序

标签 javascript json angularjs

К我的服务器上有 metadata.json

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

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

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

如何确保顺序相同?我需要与在 json 文件中输入的完全相同的顺序。

最佳答案

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

orderBy开箱即用地按数字和字母顺序排序;两者都不满足您的订购要求。实现订单标识符将允许您利用 orderBy 方法。 Here's a fiddle of what I'm suggesting .

关于javascript - Angular $http.get 总是改变 JSON 中的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24049443/

相关文章:

javascript - 如何在 JavaScript 中将数组添加到数组中

javascript - 在Javascript中将JSON字符串转换为JSON对象数组

angularjs - 根据 Controller 中的数据使用 Angular 和 UI-Router 设置页面标题

json - 如何在 delphi 中使用 THTTPClient 发布 json?

javascript - 是否有 HTML 表单的标准表示?

javascript - 等待 sendKeys() 的 Protractor

javascript - 启用在输入字段中输入文本的按钮

javascript - 从另一个页面直接链接到特定的选项卡 Pane

javascript - 如何将我的数据保存在本地存储中?

javascript - forEach 循环为数组中的变量分配新值不会替换变量的值