В qml у меня есть страница main.qml, если я щелкаю по прямоугольнику на этой странице, он открывает компонент из файла second.qml, и появляется список. Список очень длинный и может быть прокручен вниз. Чтобы перейти к main.qml (предыдущая страница) из second.qml, это также можно сделать, создав кнопку возврата. Пока все в порядке , и это работает и выполняется с помощью загрузчика, а затем изменяя источник загрузчика.
Проблема начинается , когда я повторно посещаю second.qml послеснова щелкнув по прямоугольнику в main.qml. На этот раз он показывает список, оставленный в последний раз. То, что я хочу, это перезагрузить second.qml, как он загрузил его в первый раз. Я сталкивался с явным компонентным кэшем и т. Д. Однако он не работает для меня.
Простой пример на , как очистить кэш-память загрузчика , чтобы перезагрузить его, как будто я был загружен в первый разв qml было бы полезно.
в main.qml
MouseArea {
anchors.fill: parent
onClicked: {
pp.close()
//clearComponentCache(loader)
loader.setSource("second.qml",
{ "x":0,
"y":30});
//loader.reload()
}
}