在被监视的定义中调用.bind
a会导致奇怪的行为。新绑定仅在初始化时更新一次,但在更新内容后不会更新。Vars
Binding
Vars
例如,如果我这样做:
private val test: Vars[Int] = Vars(1,2,3,4)
Binding(test.bind match{case newd => println("TESTS DATAS has changed: " + newd)}).watch
test.value.append(1111)
然后,我得到了一条输出线(而我应该得到两条):
测试数据已更改:缓冲区(1、2、3、4)
有关完整的工作示例,请参阅此 scalafiddle: https ://scalafiddle.io/sf/0PkkLPE/1
我尝试了不同的选择,例如转换为Binding
第一个 with ,.all
但这并没有改变任何东西。也许,我不理解某些东西,Vars
但这看起来不太符合Var
它的效果。