data property

  1. @override
Data? get data
override

Implementation

@override
Data? get data {
  if (super.data == null) return null;
  if (super.data is Data) {
    return super.data;
  } else {
    return Data(data: super.data);
  }
}
set data (dynamic v)
inherited

Implementation

set data(dynamic v) {
  if (_data != null) {
    _data!.set(v);
  } else if (v != null) {
    final key = Binding.toKey(id, 'data');

    _data =
        ListObservable(key, null, scope: scope, listener: onPropertyChange,

            // inline setter
            // used to set values within the data element
            // when twoway binding is used
            setter: (dynamic value, {Observable? setter}) {
      if (setter?.twoway == null) return value;
      var bdg = Binding.fromString(setter?.signature);
      var tag = bdg?.toString().replaceFirst("$key.", "");
      Data.write(data, tag, value);
      return data;
    });

    // set the value
    _data!.set(v);
  }
}