3

我通过 jQuery 解析了一些 JSON 并加载到一个对象$framework中。我可以打电话console.log($framework),它会返回:

    Object 
    List item
    currentPage: Object 
    hash: "" 
    path: "/" 
    routes: Array[3] 
    url: "http://example.com.dev/"
    __proto__: Object

console.log($framework.path)例如,我可以这样做,但console.log($framework.currentPage)console.log($framework.routes)总是返回未定义。在控制台中,我实际上可以扩展两者并查看它们的子属性,因此它们似乎确实存在。我究竟做错了什么?

编辑:根据要求,这是我为 routes 属性使用的 JSON:

    {
    "routes": [
    {
        "title": "Root",
        "path": "/",
        "path_plain": "",
        "partial": "index",
        "container": "#main_content"
    },
    {
        "title": "Content",
        "path": "/content",
        "path_plain": "content",
        "partial": "content/index",
        "container": "#main_content"
    },
    {
        "title": "Dashboard",
        "path": "/dashboard",
        "path_plain": "dashboard",
        "partial": "dashboard/index",
        "container": "#main_content"
    }
]

}

编辑:在进一步解决这个问题之后,事实证明真正的罪魁祸首是在 $framework 完全设置之前发生的自定义回调。我无法解释为什么我可以在直接引用属性之前和之后在控制台中看到对象并且仍然未定义,但至少它已经解决了。

4

1 回答 1

0

试试这个:如果你想查看内容console.log($framework.routes[0]),记录第一个项目,console.log($framework.routes[1])第二个等等。

基于您的 JSON,$framework.routes[0].title应该返回Root.

于 2013-09-23T20:44:02.937 回答