创建一个组件作为对象实例中的成员

Create a component as a member in an object instance

我有一个名为 MyComponent 的 QML 组件,我有一个实例如下:

MyComponent {
    id: rightComponent

    property Component settingsScreen: SettingsScreen {}

    StackView {
        id: settingsStack
        anchors.fill: parent
        initialItem: rightComponent.settingsScreen
    }
}

SettingsScreen 是我拥有的另一个组件。问题是 rightComponent 似乎不是 settingsScreen 的父级。当我嵌入时我得到了正确的结果:

MyComponent {
    id: rightComponent

    SettingsScreen {}
}

很好,一切都布置得很好。

您可以按如下方式解决:

MyComponent {
    id: rightComponent

    SettingsScreen {
        id: settingsScreen
    }

    StackView {
        id: settingsStack
        anchors.fill: parent
        initialItem: settingsScreen
    }
}

不需要像您那样定义新的属性。