안녕하세요. 오랜만에 질문글을 드리네요.
현재 swipeview를 이용해서 앱 개발을 진행중입니다.
swipeview를 이용해서 구현하다보니, 페이지별로 qml 파일을 나눠서 작성하게 되어
파일이 점점 많이지는 문제가 있습니다.
예를 들어서 다음과 같이 프로그램이 구현되어있는데요.
SwipeView
{
id: mainViewSwipe
anchors.fill: parent
currentIndex: 0
interactive: false
Page
{
Loader
{
focus: true
anchors.fill: parent
source: "qrc:/qml/MainView.qml"
}
}
Page
{
Loader
{
focus: true
anchors.fill: parent
source: "qrc:/qml/ChildView.qml"
}
}
Page
{
Loader
{
....
}
}
Page
{
Loader
{
....
}
}
}
이런식으로 메인 QML에서 수많은 Page, Loader가 난무하는 상태입니다..
애초에 loader라는 것이 부하를 줄이기 위해서 동적으로 페이지를 불러오기 위해 사용하는 것으로 알고 있는데,
이런식으로 사용하면 코드를 보기 편하다는 점 외에는 전혀 쓸모가 없는게 맞나요?
이러한 형태로 swpieview에서 수많은 qml 페이지가 있을 때, 로더를 잘 사용하는 방법이 궁금합니다.
2021.05.25 21:33
다양한 방법이 있겠지만 다음과 같이 Repeater 를 잘 사용하면 중복되는 코드를 제거 할 수 있을 거 같습니다!
SwipeView {
id: mainViewSwipe
anchors.fill: parent
Repeater {
model: [
"page1.qml",
"page2.qml"
]
Loader{
source: modelData
}
}
}