Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振-错误:getter X不是';没有为类定义_Flutter_Dart - Fatal编程技术网

Flutter 颤振-错误:getter X不是';没有为类定义

Flutter 颤振-错误:getter X不是';没有为类定义,flutter,dart,Flutter,Dart,我有一个类TripController,它包含一个私有字段\u updateAccount。我创建了一个getter,以便从外部获取 class TripController { final String _accountId; final BuildContext _context; Account _updatedAccount; Account updatedAccount() => _updatedAccount; TripController(this

我有一个类
TripController
,它包含一个私有字段
\u updateAccount
。我创建了一个getter,以便从外部获取

class TripController {
  final String _accountId;
  final BuildContext _context;
  Account _updatedAccount;  
  Account updatedAccount() => _updatedAccount;


  TripController(this._accountId, this._context);
...
}
在另一个类中,我完全可以访问
TripController
类,我有以下代码:

onTap: () {
 TripController _tripController =
 new TripController(_account.id, context);
 _tripController.add(context);
 _account.trips  = _tripController.updatedAccount.trips;
 _account.notifyListeners();
},
在这里,
updateAccount
来自
\u tripController.updateAccount.trips
updateAccount以红色下划线,并显示以下消息:
未为类“tripController”定义getter“updateAccount”


我是否错误地声明了getter?

您已将
updateAccount()
声明为方法,而不是getter。使用tripController.UpdateAccount().trips
或将方法更改为getter
帐户get updateAccount=>\u updateAccount

您使用的是经典方法语法声明,在Dart语言中,对于getter更喜欢使用这种语法:

Account get updatedAccount => _updatedAccount;
就像你说的那样。 否则,您应该像调用经典方法一样调用它:

_tripController.updatedAccount().trips
请点击此链接了解更多信息:


好的,我终于修好了。我不知道为什么,但我不得不删除与TripController相关的代码,然后重新编写。我不知道为什么,可能是编辑器的问题,我正在使用VScode。

用显式类型声明或向下转换替换成员的定义

e、 g-querySelector(
)方法静态返回一个元素,但代码假定它返回定义了
context2D
的子类型CanvasElement。画布字段声明为var,在没有强模式的Dart 1.x版本中,将其键入为
dynamic
,并消除所有错误。Dart推断
canvas
为元素

CanvasElement canvas = querySelector('canvas');
canvas.context2D.lineTo(x, y);

使用括号,错误消息将更改并成为
未为类“TripController”定义方法“UpdateAccount”。
是否有另一个名为“TripController”的类?不,我没有。我不明白的是,我可以使用所有其他方法,但不能使用这个方法。它不认识它。编辑:事实上,当我尝试添加另一个test()方法时,如果它不想考虑我对
TripController
类所做的更改,那么它就不起作用了。这很奇怪。您是否厌倦了清理/重建项目?我尝试添加get,但消息是相同的:/you's remove Other Branches?节省了我的时间。谢谢成功了。