AdaptiveBindableProperty<TValue, TAdaptee extends Listenable> constructor

AdaptiveBindableProperty<TValue, TAdaptee extends Listenable>(
  1. TAdaptee adaptee, {
  2. required TValue valueGetter(
    1. TAdaptee
    ),
  3. void valueSetter(
    1. TAdaptee,
    2. TValue
    )?,
  4. PropertyValueChanged<TValue>? valueChanged,
})

创建一个适配绑定属性

adaptee 被适配者实例,适配者必须继承自 Listenable

valueGetter 指定从被适配者获取值的方法

valueSetter 指定设置被适配者值的方法

valueChanged 指定属性值变更后的回调方法

Implementation

AdaptiveBindableProperty(this.adaptee,
    {required TValue Function(TAdaptee) valueGetter,
    void Function(TAdaptee, TValue)? valueSetter,
    PropertyValueChanged<TValue>? valueChanged})
    : super(
          valueGetter: () => valueGetter(adaptee),
          valueSetter:
              valueSetter == null ? null : (v) => valueSetter(adaptee, v),
          valueChanged: valueChanged) {
  adaptee.addListener(_valueChanged);
}