如何绑定到Javascript资源?绑定到导入的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"
}
}
model.js
var text = "Hello";
我也尝试使用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资源属性,如窗口高度,色彩和图像路径等,并有取其产品使用它们与对资源所做的任何更改保持同步。
编辑
找到一个相关的问题:declare global property in QML for other QML files
我希望按钮在Javascript属性更新时更新其文本。看我更新的例子。 – 2014-11-25 09:11:52