我正在使用qml Loader
组件将页面动态推送到视图中。现在我推送的页面有各种属性,我想从Loader组件本身访问它们。但是,我无法为这些属性创建别名。所以,我有类似的东西:
Loader {
id: loginLoader
source: "qrc:/pages/IdPinLoginPage.qml"
property alias hasNavBar: loginLoader.item.hasNavBar
property alias hasStatusBar: loginLoader.item.hasStatusBar
}
这导致Invalid alias target location
。如何将这些属性重定向到Loader组件中的父级?
答案 0 :(得分:0)
我建议您使用sourceComponent
而不是Loader的source
属性来轻松地为已加载项目赋值/绑定值。
另外,对于访问加载项,您可以使用加载程序的item
属性:
Loader {
id: loader
sourceComponent: Component {
SampleItem {
foo: 13 //assign values to loaded item properties
bar: "aleyk!"
}
}
}
Text {
text: loader.item.bar //Access to loaded item properties
}
SampleItem.qml
import QtQuick 2.6
Item {
property int foo: 0
property string bar: "salam";
}