具有属性的 QML StackView 推送组件

QML StackView push component with properties

在 QML StackView docs 中提到您可以使用如下属性推送 item
stackView.push({item: someItem, properties: {fgcolor: "red", bgcolor: "blue"}})

有没有一种方法可以让我们使用属性推送component?我的组件基本上是其他 .qml 文件的包装器,用于我的应用程序的不同视图,例如:

Component{
    id: loginComponent
    Login{}//The Login.qml file of my project
}

这就是我正在尝试的:
Main.qml

    ApplicationWindow {
    id: appWindow
    visible: true
    width: Screen.desktopAvailableWidth
    height: Screen.desktopAvailableHeight
    property alias stackv: stackv
    property alias loginComponent: loginCom
        StackView {
        id: stackv
        anchors.top: topHeader.bottom
        anchors.topMargin: 10
        anchors.bottom: parent.bottom
        width: parent.width
        focus: true
            Component {
            id: loginCom
            Login {
                anchors.fill: parent
            }
        }
    }
    }

在另一个作为组件推送到堆栈视图的 QML 文件中,我在按钮的一个 onClick 方法上尝试此操作:

onClicked: {
            appWindow.stackv.push({item: appWindow.loginComponent})
        }

我弹出这个错误:

QML StackView: push: nothing to push

如果我在没有 item 属性 的情况下尝试这样做,它会起作用。但是,无论哪种方式,我都无法推送属性。

documentation you linked to中,第一句说:

An item pushed onto the StackView can be either an Item, a URL, a string containing a URL, or a Component.

所以只传递一个组件:

stackView.push({item: loginComponent, properties: {/*...*/}})

编辑:事实证明,在您编辑问题并添加警告输出后,您实际上是在使用 Qt Quick Controls 2 中的 StackView,而不是您的文档 link 指出的 Qt Quick Controls 1到.