首页 > 解决方案 > TornadoFX - 实例化解耦控制器的正确方法?

问题描述

我有一个与视图类没有直接耦合的控制器,即它订阅来自事件总线的事件,仅此而已。

我在 View 类 ( by inject()) 中任意创建它,但它确实不需要在那里。有没有办法告诉 TornadoFX 应该以其他方式创建它?

标签: kotlintornadofx

解决方案


TornadoFX 不进行任何注释扫描,因此无法添加@Startup注释或类似的东西。确保它被实例化的最简单方法实际上是将它注入到您的App子类中。这为 IMO 提供了一种务实、干净且可维护的方法 :)

编辑:实际上最好使用find(), 以确保它实际上是立即创建的,因为inject()它是懒惰的。

val ctrl = find<MyController>()


推荐阅读