ฉันกำลังพยายามใช้ kodein ในแอป Tornadofx หลังจากที่ฉันอ่านhttps://docs.kodein.org/kodein-di/7.10/framework/tornadofx.html ฉัน พยายามผูกวัตถุในมุมมอง นี่คือรหัสของฉัน :

                hbox(5) {
                val label = label("Name:")
                [email protected] {
                    bind("nameLabel") {
                        singleton {
                            label
                        }
                    }
                }
                textfield()
                alignment = Pos.CENTER
            }
            hbox(5) {
                val label = label("Pass:") {
                    val label: Label by [email protected]().instance("nameLabel")
                    prefWidthProperty().bind(label.widthProperty())
                }
                [email protected] {
                    bind("passLabel") {
                        singleton {
                            label
                        }
                    }
                }
                textfield()
                alignment = Pos.CENTER
            }

และมีข้อผิดพลาดนี้:

java.lang.IllegalArgumentException: There is already a DI container for the node [email protected]
at org.kodein.di.tornadofx.ClosestKt.addKodeinDIProperty(closest.kt:43)
at org.kodein.di.tornadofx.ClosestKt.kodeinDI(closest.kt:31)
at com.example.tfx.UI.MainView$root$1$1$1$3.invoke(MainView.kt:46)
at com.example.tfx.UI.MainView$root$1$1$1$3.invoke(MainView.kt:41)

ฉันต้องการใช้การฉีดและการผูกที่ใดก็ได้ในชั้นเรียนโดยไม่ต้องผ่านพารามิเตอร์ ต้องทำอย่างไร? ขอบคุณมากสำหรับความช่วยเหลือของคุณ

ไม่พบคำตอบ