首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QML复数组

QML复数组
EN

Stack Overflow用户
提问于 2014-08-06 20:16:48
回答 3查看 209关注 0票数 0

我遇到麻烦的是非常简单的代码:

代码语言:javascript
复制
property var pagesAllModels: {
    ru: [
        { title: qsTr("New"),           url: "http://bash.im"           },
        { title: qsTr("Random"),        url: "http://bash.im/random"    },
        { title: qsTr("Best"),          url: "http://bash.im/best"      },
        { title: qsTr("By rating"),     url: "http://bash.im/byrating"  },
        { title: qsTr("Abyss"),         url: "http://bash.im/abyss"     },
        { title: qsTr("Abyss top"),     url: "http://bash.im/abysstop"  },
        { title: qsTr("Abyss best"),    url: "http://bash.im/abyssbest" },
    ],
    eng: [
        { title: "Latest",              url: "http://bash.org/?latest" },
        { title: "Browse",              url: "http://bash.org/?browse" },
        { title: "Random",              url: "http://bash.org/?random" },
        { title: "Top",                 url: "http://bash.org/?top"    }
    ]
}

QML中的代码使我在"eng:[“with error”预期的词汇“行中出错,但在纯javascript中,一切都很好。怎么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-19 09:48:24

这是因为您的代码是非法的JSON数组定义。Web浏览器之所以接受它,是因为它们对JS语法并不严格,但是QML引擎实际上是严格的:

在键:联合数组中的值对中,键必须是字符串,所以它必须有引号,否则它将与(不存在的)变量名混淆。

代码语言:javascript
复制
property var pagesAllModels: {
    "ru": [
        { "title": qsTr("New"),           "url": "http://bash.im"           },
        { "title": qsTr("Random"),        "url": "http://bash.im/random"    },
        { "title": qsTr("Best"),          "url": "http://bash.im/best"      },
        { "title": qsTr("By rating"),     "url": "http://bash.im/byrating"  },
        { "title": qsTr("Abyss"),         "url": "http://bash.im/abyss"     },
        { "title": qsTr("Abyss top"),     "url": "http://bash.im/abysstop"  },
        { "title": qsTr("Abyss best"),    "url": "http://bash.im/abyssbest" }
    ],
    "eng": [
        { "title": "Latest",              "url": "http://bash.org/?latest" },
        { "title": "Browse",              "url": "http://bash.org/?browse" },
        { "title": "Random",              "url": "http://bash.org/?random" },
        { "title": "Top",                 "url": "http://bash.org/?top"    }
    ]
}

而且起作用了!

票数 0
EN

Stack Overflow用户

发布于 2014-08-06 20:20:16

尝尝这个

代码语言:javascript
复制
property var pagesAllModels: {
    ru: [
        { title: qsTr("New"),           url: "http://bash.im"           },
        { title: qsTr("Random"),        url: "http://bash.im/random"    },
        { title: qsTr("Best"),          url: "http://bash.im/best"      },
        { title: qsTr("By rating"),     url: "http://bash.im/byrating"  },
        { title: qsTr("Abyss"),         url: "http://bash.im/abyss"     },
        { title: qsTr("Abyss top"),     url: "http://bash.im/abysstop"  },
        { title: qsTr("Abyss best"),    url: "http://bash.im/abyssbest" }
    ],
    eng: [
        { title: "Latest",              url: "http://bash.org/?latest" },
        { title: "Browse",              url: "http://bash.org/?browse" },
        { title: "Random",              url: "http://bash.org/?random" },
        { title: "Top",                 url: "http://bash.org/?top"    }
    ]
}

希望这能解决你的问题

票数 0
EN

Stack Overflow用户

发布于 2014-08-07 11:08:01

用分号";“分隔的关联数组

尝尝这个

代码语言:javascript
复制
property var pagesAllModels: {
    ru: [
        { title: qsTr("New"),           url: "http://bash.im"           },
        { title: qsTr("Random"),        url: "http://bash.im/random"    },
        { title: qsTr("Best"),          url: "http://bash.im/best"      },
        { title: qsTr("By rating"),     url: "http://bash.im/byrating"  },
        { title: qsTr("Abyss"),         url: "http://bash.im/abyss"     },
        { title: qsTr("Abyss top"),     url: "http://bash.im/abysstop"  },
        { title: qsTr("Abyss best"),    url: "http://bash.im/abyssbest" },
    ];
    eng: [
        { title: "Latest",              url: "http://bash.org/?latest" },
        { title: "Browse",              url: "http://bash.org/?browse" },
        { title: "Random",              url: "http://bash.org/?random" },
        { title: "Top",                 url: "http://bash.org/?top"    }
    ]
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25169413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档