我用对象创建了一个JS文件:
myObject {
myVar: "hello"
}
然后我在QML中导入:
import "myObject.js" as SomeObjects
Rectangle {
Text {
color: "red"
text: SomeObjects.myObject.myVar
}
}
但如果我SomeObjects.myObject.myVar = "goodbye"
,QML中的文本组件将不会更新。所以这必然意味着JS对象无法通知。
使用QML在导入的文件中存储可通知变量的最佳方法是什么?
答案 0 :(得分:2)
Javascript对象没有像属性绑定这样的功能。所以唯一的方法是使用QML对象。如果你在JS中有任何计算,你可以把它放在不同的js文件中。
import "myObject.js" as SomeObjects
QtObject {
id: myObject
property string myVar: ""
function someCalculation () {
SomeObjects.somefunction(myVar);
}
}
Text {
text: myObject.myVar
}
Component.onCompleted: {
myObject.myVar = "Hello"
}