似乎不可能像我们对Var所做的那样(使用value方法)来获得Binding的当前值。我查看了源代码,这个方法被声明为Binding类的私有方法,而它是Var或Binding.Constant类的公共方法。在Binding的案例中,有什么理由让它成为私人的吗?你知道有另一种方法可以让Binding实现这一点吗?
简单地说一下上下文,我的用例如下:我在Var中有一个复杂对象,从这个Var中,我派生了几个表示简单对象列表的Binding。然后,我使用这些Binding在@dom方法中呈现HTML表。现在,我想对表中显示的数据执行一些顺序搜索(而不必再次从原始Var对象派生它们),因此,基本上,我希望获得用于显示表的Binding的当前值,以便执行搜索。
目前,我能想到的唯一选择是对我的派生对象使用Var而不是Binding,然后在源Var发生更改时使用受监视的绑定表达式来更新派生Var。但这会使代码变得不那么简洁,我感觉这会增加一些性能开销。你有什么想法可以用更好的方式实现这一点吗?
提前感谢您的回复!
发布于 2018-10-16 09:48:17
您可能需要findMapM (其中M为Binding,F为List或Vector)或Scalaz中的其他顺序函数。参见Scaladoc。
https://stackoverflow.com/questions/52820789
复制相似问题