在编写一些组件的包装时,例如:
MyComponent.qml
ColumnLayout{
ListView{
id: listview
}
}
是否可以公开子级的所有属性(此处为listview
(,而无需手动键入所有别名?
这样,如果允许的话,我可以做一些类似于下面的事情:
ColumnLayout{
MyComponent{
listview.model: ListModel{ // Here
}
}
}
(通过转发它们,或者通过定义指向listview的属性(我尝试过,但似乎不起作用…(,或者任何其他允许从listview绑定属性的方式,就像我定义ListView
一样(
您只需要对要公开的对象的id进行别名。因此,在MyComponent.qml中,您可以执行以下操作:
ColumnLayout{
property alias listview: listview
ListView{
id: listview
}
}
然后你可以从其他对象访问它:
ColumnLayout{
MyComponent{
listview.model: ListModel{
}
}
}