当我写这篇文章时:
property bool token: false
Settings {
property alias token: root.token
}
然后将应用程序中的token
更改为true
,下次运行应用程序时token
为true
。
但是当我写这篇文章时:
property var token: null
Settings {
property alias token: root.token
}
并将令牌更改为{'a': 'b'}
,例如,下次运行应用令牌null
时,Settings
并不保存JS对象。知道这里有什么问题吗?
更新:
似乎问题不在于保存js对象{'a': 'b'}
,QML成功保存它,问题在于null
如果我将其更改为false
一切正常。我想这与此问题相关Storing data using Settings element in QML但我不明白为什么null
正在进行后期处理,尽管使用false
代替null
这个属性的默认值解决了我不喜欢的问题,因为我不想在这里false
,道德上不合适,我想要null
。
更新2:
我发现我的解决方案,没有设置属性的默认值(不是false
也不是null
)似乎解决了这个问题,这似乎在道德上是这样的:
property var token
Settings {
property alias token: root.token
}
我不明白为什么null
还没有工作。任何解释都会受到欢迎。
答案 0 :(得分:1)
设置属性的默认值(不是false
也不是null
)似乎解决了这个问题:
property var token
Settings {
property alias token: root.token
}