enum ListStatus { loading, success, failure }
class ListState extends Equatable {
const ListState._({
this.status = ListStatus.loading,
this.items = const <Item>[],
});
const ListState.loading() : this._();
const ListState.success(List<Item> items)
: this._(status: ListStatus.success, items: items);
const ListState.failure() : this._(status: ListStatus.failure);
final ListStatus status;
final List<Item> items;
@override
List<Object> get props => [status, items];
}
1 什么是“._”
ListState._({...}) ?
2 那些函数旁边的“:”是什么?什么时候用?
答案 0 :(得分:2)
ListState._({...})
这是一个私有的命名构造函数,这意味着你不能从当前库的外部实例化这个类对象。
const ListState.loading() : this._();
这也是一个命名构造函数(虽然不是私有的),这里 this._())
只是将调用委托给私有命名构造函数。