1

だから..まず、私はFLUXアーキテクチャを使用しています。別のシーンをロードするこの基本シーンがあります。ローダーはローダー保管庫にあります。ボタンをクリックしたとしましょう。メッセージを取得するシーン ストアにアクションを送信し、それをローダー ストレージに送信して新しいシーンをロードします。しかし、これを行うたびに、ストレージを使用せずにローダーをシーンに埋め込むだけでテストしたため、通常のデータまたは正しいデータを使用しているにもかかわらず、「TypeError: Type error」というエラーが発生します。

BaseScene.qml

Rectangle {
    id: rect_baseLoader
    width: parent.width
    height: parent.height
    anchors.top: rect_header.bottom
    anchors.topMargin: 0
    color: "red"

    BaseLoaderStorage {
        id: storage_scene
        anchors.fill: parent
    }

    StoreAdapter {
        storage_baseloader: storage_baseloader
    }

}

HomeScene.qml

onClicked: {
     AppActions.navigateTo("SalesScene.qml");
}

BaseLoaderStorage.qml

AppListener {
    property BaseLoaderStorage storage

    Filter {
        type: ActionTypes.navigateTo
        onDispatched: {
            console.log("MESSAGE = " + message.source)
            storage.source = SCENE_LOC + qsTr(message.source)
        }
    }
}

BaseLoaderStore.qml

Item {
    property alias source: baseLoader.source
    id: storage_basesceneloader

    Loader {
        id: baseLoader
        focus: true
        anchors.fill: parent
        anchors.centerIn: parent
        property bool valid: item !== null
        source: SCENE_LOC + "HomeScene.qml"
    }

    Connections {
        ignoreUnknownSignals: true
        target: baseLoader.valid ? baseLoader.item : null
    }
}

問題は、ローダーのソースに正しいデータを渡しているときに、「TypeError: Type error」というエラーが表示される理由です。前もって感謝します!:)

4

0 に答える 0