2

我试图弄清楚所有权在scala.rx中的确切运作方式。目前我有一个Scala.js Web 应用程序,它只rx.Ctx.Owner.Unsafe._在我使用Rxs 的任何地方导入。但是,这会导致创建许多分离的 DOM 元素,因为这个不安全的全局所有者保留了对所有Rxs 的引用,并且永远不会让它们离开。这样,我使用scalatagsscalatags-rx创建的所有 DOM 元素将永远作为分离元素保留在我的应用程序中。

我现在想做的是为implicit val pageOwner: Ctx.Owner = Ctx.Owner.safe()我的应用程序的每个页面创建一个,一旦离开这个页面,我想以某种方式拥有这个所有者的kill()所有s,以便它们可以被垃圾收集。Rx上没有kill()定义方法Ctx.Owner,所以我一直想知道如果所有者本身被垃圾收集,垃圾收集是否会起作用。

4

0 回答 0