Сохраните индекс в новом свойстве и используйте swipeView.currentItem
для доступа к нему.
Например:
ApplicationWindow
{
visible: true
width: 640
height: 480
title: swipeView.currentItem.myIndex
SwipeView
{
id: swipeView
anchors.fill: parent
Repeater
{
id: itemRepeater;
model: 6
Loader
{
property int myIndex: index;
active: SwipeView.isCurrentItem || SwipeView.isNextItem || SwipeView.isPreviousItem
sourceComponent: Text
{
text: myIndex
Component.onCompleted: console.log("created:", index)
Component.onDestruction: console.log("destroyed:", index)
}
}
}
}
}
Вы должны создать новый пользовательский элемент для встраивания вашего Loader
, чтобы быть чище (т. Е. Явно указывать на то, что вы можете получить доступ к несуществующему свойству в Loader
).