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?节省了我的时间。谢谢成功了。