如何绑定到 Javascript 资源?
我是 QML 的新手,可能正在以错误的方式思考这个问题,但在下面的示例中,我希望按钮在按下时显示“世界”。
main.qml
import QtQuick 2.0
import QtQuick.Controls 1.0
import "model.js" as Model
Button {
id: button
text: Model.text
onClicked: {
Model.text = "World";
print("Model.text is:", Model.text)
print("button.text is:", button.text)
// Model.text is "World"
// button.text is "Hello"
// They should both be "World"
}
}
模型.js
var text = "Hello";
我也尝试使用 a Qt.binding
,但没有任何区别。
main.qml
import QtQuick 2.0
import QtQuick.Controls 1.0
import "model.js" as Model
Button {
onClicked: {
Model.text = "World";
}
Component.onCompleted: {
text = Qt.binding(function () { return Model.text })
}
}
我正在寻找的最终结果是在专用 Javascript 资源中拥有属性,例如窗口高度、颜色和图像路径等,并让使用它们的任何项目与对资源所做的任何更改保持同步。
编辑
发现了一个相关的问题:在 QML 中为其他 QML 文件声明全局属性