Qml 在设置中保存JS对象(变量或变量)
当我写这篇文章时:Qml 在设置中保存JS对象(变量或变量),qml,Qml,当我写这篇文章时: property bool token: false Settings { property alias token: root.token } property var token: null Settings { property alias token: root.token } 然后将应用程序中的某个地方的token更改为true,下次运行应用程序时token为true 但当我写这篇文章时: property bool token: false
property bool token: false
Settings {
property alias token: root.token
}
property var token: null
Settings {
property alias token: root.token
}
然后将应用程序中的某个地方的token
更改为true
,下次运行应用程序时token
为true
但当我写这篇文章时:
property bool token: false
Settings {
property alias token: root.token
}
property var token: null
Settings {
property alias token: root.token
}
并将token更改为{'a':'b'}
例如,下次运行应用程序时,token是null
likeSettings
不会保存JS对象。知道这里怎么了吗
更新:
似乎问题不在于保存js对象{'a':'b'}
,QML成功地保存了它,问题在于null
如果我将其更改为false
一切正常。我想这与这个问题有关,但我不明白为什么null
会被后处理,尽管使用false
而不是null
作为这个属性的默认值解决了这个问题,我不喜欢它,因为我不想要false
这里,这在道德上是不合适的,我想要null
更新2:
我找到了我的解决方案,没有为属性设置默认值(不是false
也不是null
)似乎可以解决这个问题,从道德上来说,这样做似乎是合适的:
property var token
Settings {
property alias token: root.token
}
property var token
Settings {
property alias token: root.token
}
我不明白为什么
null
还不起作用。欢迎任何解释。设置属性的默认值(不是false
也不是null
)似乎可以解决问题: