我正在为体育博彩制作创建一个QML应用程序。
我有一个显示各种竞争和市场的StackView。
之前,我使用了一个视图来例如在足球中显示各种比赛,然后根据我得到的数据,我只是在这个视图中改变了模型。
我使用StackView将各种视图推送给用户。
我现在想要将这些视图动态分配到堆栈中:
StackView {
id: stack
delegate: StackViewDelegate {
function transitionFinished(properties) {
properties.exitItem.opacity = 1
properties.exitItem.visible = false
}
pushTransition: StackViewTransition {
PropertyAnimation {
target: enterItem
property: "opacity"
from: 0
to: 1
}
PropertyAnimation {
target: exitItem
property: "opacity"
from: 1
to: 0
}
}
}
}
尚未分配的组件:
Component {
id: groupComponent
GroupView {
onCompetitionClicked: {
root.showCompetition(competitionId);
}
}
}
Component {
id: competitionComponent
CompetitionView {
// Blabla
}
}
单击此组件时,showCompetition会将新视图推送到堆栈:
function showCompetition(competitionId) {
var view = competitionComponent.createObject();
view.loadCompetition(competitionId);
stack.push( {item:view, destroyOnPop:true});
}
所以现在发生这种情况(截图)
在我将其更改为动态分配之前(注意我已经硬编码了调试标题):
我改为动态分配后(注意字体看起来更厚?):
点击一个大的后:
回到第一页(注意即使是硬编码的字符串也会被混淆):
显然字符串出现问题,因为数字数据似乎相同,而且我收到的数据仍然正确,因为顶部的面包屑仍显示正确的字符串。
发生了什么事?