Dart 实例成员';名称';can';不能在初始值设定项中访问
当声明Dart 实例成员';名称';can';不能在初始值设定项中访问,dart,Dart,当声明\u disposers变量时,我得到了错误 无法在初始值设定项中访问实例成员“name” class FormStore=\u FormStore与$FormStore; 抽象类_FormStore与Store{ @可观察 字符串名=“”; 列表_处理器=[ 反应((\u)=>name,validateUsername),//name和validateUsername出现错误 ]; // ... 它提示 尝试将对实例成员的引用替换为其他引用 表情 为什么会出现错误?如果将延迟放在列表处
\u disposers
变量时,我得到了错误
无法在初始值设定项中访问实例成员“name”
class FormStore=\u FormStore与$FormStore;
抽象类_FormStore与Store{
@可观察
字符串名=“”;
列表_处理器=[
反应((\u)=>name,validateUsername),//name和validateUsername出现错误
];
// ...
它提示
尝试将对实例成员的引用替换为其他引用
表情
为什么会出现错误?如果将
延迟
放在列表处理程序
之前,为什么会消除此错误?您不能使用其他实例成员(如名称
)初始化像\u处理程序
这样的实例成员,因为dart不允许您在初始化程序中使用对“this”的引用
当您使用late
时,它将变为惰性,这意味着它将仅在需要时(通常在您调用它时)进行初始化/计算
class FormStore = _FormStore with _$FormStore;
abstract class _FormStore with Store {
@observable
String name = '';
List<ReactionDisposer> _disposers = [
reaction((_) => name, validateUsername), // error on name and on validateUsername
];
// ...