主要目标:拥有一个上下文属性,该属性由定义到QML文件(例如file_1.qml
)中的项目设置,并且将在运行时由不同QML文件中定义的其他项目访问(例如{{ 1}})。
问题:是否可以在file_2.qml
中设置新的上下文属性,然后在file_1.qml
中阅读此属性?
(编辑)
例如,我需要在file_1.qml中使用file_2.qml中的值:
file_1.qml:
file_2.qml
file_2.qml:
(...)
UiController.but_generate__onClicked(
getContextProperty("sbx_money_quantity_value"),
cal_daysoff.visibleMonth)
(...)
谢谢!
答案 0 :(得分:1)
由于范围限制,您无法从另一个文件中访问某个文件中的项目。所以你只需要一些代理根对象,或者可能是一些全局单例对象,或者只是将一个对象的引用传递给另一个对象。例如:
<强> File1.qml 强>
Item {
property someValue: 1
}
<强> File2.qml 强>
Item {
property variant ref: null
onChanged: ref.someValue = 2;
}
<强> main.qml 强>
File1 {
item: file1
}
File2 {
item: file2
ref: file1
}