在常规JavaFX中,我会在2个或更多可观察对象上创建一个绑定,如下所示:
xxxProperty().bind(Bindings.createObjectBinding(() -> {...}, observable1, observable2, ...));在ReactFx中,我看到可以像这样创建绑定:
xxxProperty().bind(val.map(value -> {...}));但是,如何在2个或更多ReactFX可观察对象(Val和/或Var)上创建绑定?
发布于 2017-02-08 03:17:48
对于一般情况,请使用以下方法之一:
static <T> Val<T> create(Supplier<? extends T> computeValue, EventStream<?> invalidations)
static <T> Val<T> create(Supplier<? extends T> computeValue, Observable... dependencies)对于组合2-6值,提供了一些方便的方法:
static <A,B,R> Val<R> combine(ObservableValue<A> src1, ObservableValue<B> src2, BiFunction<? super A,? super B,? extends R> f)
static <A,B,C,R> Val<R> combine(ObservableValue<A> src1, ObservableValue<B> src2, ObservableValue<C> src3, TriFunction<? super A,? super B,? super C,? extends R> f)
static <A,B,C,D,R> Val<R> combine(ObservableValue<A> src1, ObservableValue<B> src2, ObservableValue<C> src3, ObservableValue<D> src4, TetraFunction<? super A,? super B,? super C,? super D,? extends R> f)
static <A,B,C,D,E,R> Val<R> combine(ObservableValue<A> src1, ObservableValue<B> src2, ObservableValue<C> src3, ObservableValue<D> src4, ObservableValue<E> src5, PentaFunction<? super A,? super B,? super C,? super D,? super E,? extends R> f)
static <A,B,C,D,E,F,R> Val<R> combine(ObservableValue<A> src1, ObservableValue<B> src2, ObservableValue<C> src3, ObservableValue<D> src4, ObservableValue<E> src5, ObservableValue<F> src6, HexaFunction<? super A,? super B,? super C,? super D,? super E,? super F,? extends R> f)所有这些都是Val上的静态方法。
https://stackoverflow.com/questions/42094805
复制相似问题