我有基本代码,但无法将属性发送到外部页面
这是我的 main.qml:
PageStack {
id: pageStack
Component.onCompleted: push(pageMain)
Page {
title: i18n.tr("Main page")
id:pageMain
Button {
objectName: "button"
width: parent.width
text: i18n.tr("send value")
onClicked: {
var codeValue = "3029330003533";
console.log("code = " + codeValue);
pageStack.push(Qt.resolvedUrl("qml/view.qml", {code: codeValue}));
}
}
}
}
还有我的 qml/view.qml 页面
import QtQuick 2.4
import Ubuntu.Components 1.2
Page {
title: "View"
id: pageView
property string code:"";
Column {
spacing: units.gu(1)
anchors {
margins: units.gu(2)
fill: parent
}
Label {
id: label
objectName: "label"
text: pageView.code
}
}
}
属性“条形码”始终为空,我的错误在哪里?
答案1
你们父母说得不太对:
pageStack.push(Qt.resolvedUrl("qml/view.qml"), {code: codeValue});
答案2
尝试将属性名称设为字符串,如下所示:{'code': codeValue}
,否则 Qml 可能会尝试评估代码作为变量而不是文字。