Binding.scala:获取Binding的当前值

时间:2018-10-15 16:12:20

标签: scala scala.js binding.scala

似乎不可能像我们对Binding一样(使用方法Var)来获取value的当前值。我查看了源代码,并声明此方法对Binding类是私有的,而对于VarBinding.Constant类是公共的。是-在Binding情况下将其设为私有是有原因的吗?您知道Binding还有另一种方法吗?

仅介绍一下上下文,我的用例如下:我在Var中有一个复杂对象,并从此Var中派生了几个Binding代表简单对象的列表。然后,我使用这些Binding在@dom方法中呈现HTML表。现在,我想对表中显示的数据进行一些顺序搜索(而不必再次从原始Var对象中派生它们) 因此,基本上,我想获取用于显示表的Binding的当前值以执行搜索。

目前,我唯一想到的选择是对派生对象使用Var而不是Binding,然后在监视对象时使用监视的绑定表达式更新派生VarVar进行了更改。但这使代码不那么简洁,我感觉这会增加一些性能开销。您是否有一些想法可以更好地实现这一目标?

在此先感谢您的回答!

1 个答案:

答案 0 :(得分:0)

您可能需要Scalaz中的findMapM(其中MBindingFListVector)或其他顺序函数。参见Scaladoc