未处理的异常:Stack Overflow,Flutter GetXController 被初始化 2000 次
Unhandled Exception: Stack Overflow , Flutter GetXController is being initialized for 2000 times
我只将 GetXController 放在主页上一次:
class NewOrdersList extends StatelessWidget {
final OrdersController ordersC = Get.put(OrdersController());
...
然后每当我需要控制器时,我只需使用
OrdersController ordersC = Get.find();
和控制器本身:
@override
void onInit() {
trackLocation();
super.onInit();
}
在函数的末尾trackLocation();
我使用OrdersController ordersC = Get.find();
因为我需要访问控制器内部的一个变量。
但是当你启动应用程序时,我看到控制器已经初始化了数千次。
如果您在同一个 class 中使用控制器,则无需每次都写 Get.find()
。如果您需要在其他 class 中访问您的 OrderController's
实例,那么并且只有这样您才能使用 Get.find
。并且不要在 trackLocation()
之后写 OrderController ordersC = Get.find()
。因为一旦你初始化你的控制器(放置或查找),你就可以从它访问所有变量。永远不要在代码中多次初始化控制器。
我只将 GetXController 放在主页上一次:
class NewOrdersList extends StatelessWidget {
final OrdersController ordersC = Get.put(OrdersController());
...
然后每当我需要控制器时,我只需使用
OrdersController ordersC = Get.find();
和控制器本身:
@override
void onInit() {
trackLocation();
super.onInit();
}
在函数的末尾trackLocation();
我使用OrdersController ordersC = Get.find();
因为我需要访问控制器内部的一个变量。
但是当你启动应用程序时,我看到控制器已经初始化了数千次。
如果您在同一个 class 中使用控制器,则无需每次都写 Get.find()
。如果您需要在其他 class 中访问您的 OrderController's
实例,那么并且只有这样您才能使用 Get.find
。并且不要在 trackLocation()
之后写 OrderController ordersC = Get.find()
。因为一旦你初始化你的控制器(放置或查找),你就可以从它访问所有变量。永远不要在代码中多次初始化控制器。