[英]Creating global variables using JavaScript for QML
我在QML / JS集成方面遇到问题。
我在.js文件中存储了一个JavaScript列表变量。 我想从一个QML文件中写入此变量,并从另一个QML文件中读取它。 我似乎找不到解决方案。 我已经简化了我的实际代码以使其易于理解!
// writeValue.QML
import "../javascript/storedValue.js" as StoredValue
...
MouseArea{
onClicked{
StoredValue.value.push(1)
}
}
// readValue.QML
import "../javascript/storedValue.js" as StoredValue
...
Text{
text : StoredValue.value
}
//storedValue.js
var value = []
我尝试使用“ .pragma库”而不使用它,但无济于事。
结果是writeValue.QML成功写入,因此[1,1,,1,...]。 而readValue.QML只是找到一个空列表[]。
只需将.pragma library
放在JS文件的开头。 这样,QML组件将仅导入一个实例 。
但是请记住,当var
属性更改时,不会发出更新信号。 如果要具有支持更新的全局var
,则应通过C ++一侧的setContextProperty()
导出自定义QObject
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.