【发布时间】:2017-10-08 05:40:52
【问题描述】:
property variant a: {}
似乎不起作用。 a 最终是未定义的,而不是空字典。
我对 Javascript 不是很有经验...初始化属性以保存 empty 字典的正确方法是什么?
以下 qml 在控制台上打印“qrc:/main.qml:13: TypeError: Type error”。然而,如果a 被初始化为{"dummyentry": 42},那么
记录预期的结果。
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
ApplicationWindow {
visible: true; width: 600; height: 200
property variant a: {}
Component.onCompleted: {
console.log("initial a="+JSON.stringify(a)) // TypeError: Type error
a["newkey"] = 999 // gets "TypeError: Type error"
console.log("updated a="+JSON.stringify(a))
}
}
【问题讨论】:
-
此行为在文档doc.qt.io/qt-5/qml-var.html 中有详细说明。我不太清楚这种行为的原因。
标签: qml