Binding.scala: получить текущее значение привязки. - PullRequest
0 голосов
/ 15 октября 2018

Кажется, невозможно получить текущее значение Binding, как мы можем сделать для Var (используя метод value).Я посмотрел на источник, и этот метод объявлен как закрытый для класса Binding, в то время как он является общедоступным для классов Var или Binding.Constant.Есть ли какая-то причина сделать это частным делом в деле Binding?Знаете ли вы, что есть еще один способ добиться этого для Binding?

Просто, чтобы дать слово о контексте, мой сценарий использования следующий: у меня есть сложный объект внутри Var ииз этого Var я получаю несколько Binding, представляющих списки простых объектов.Затем я использую эти Binding для рендеринга таблиц HTML в методах @dom.Теперь я хотел бы выполнить некоторый последовательный поиск в данных, отображаемых в таблице (без необходимости извлекать их снова из исходного объекта Var). Итак, в основном, я хотел бы получить текущее значение Binding, использованное дляпоказать мою таблицу, чтобы выполнить поиск.

В настоящее время единственная опция, которую я могу придумать, - это использовать Var вместо Binding для моих производных объектов, а затем использовать отслеживаемое выражение привязки для обновления.производное Var при изменении источника Var.Но это делает код гораздо менее лаконичным, и у меня есть ощущение, что это добавило бы некоторые потери производительности.У вас есть какие-нибудь идеи, чтобы сделать это лучше?

Заранее спасибо за любой ответ!

1 Ответ

0 голосов
/ 16 октября 2018

Вам может понадобиться findMapM (где M - Binding, F - List или Vector) или другие последовательные функции в Scalaz.См. Скаладок .

...