Я использую get_it для регистрации своих зависимостей в своем приложении. Я регистрирую их так.
locator.registerLazySingleton<OnBoardingController>(() => Get.put(
OnBoardingController(locator(), locator(), locator(), locator())));
locator.registerLazySingleton<SurveyController>(
() => Get.put(SurveyController(locator(), locator())));
locator.registerLazySingleton<OnBoardingAnswerController>(
() => Get.put(OnBoardingAnswerController(locator())));
и есть куча такого кода. Я хочу отменить их регистрацию и зарегистрировать заново. как я могу этого добиться?
Кроме того, stackoverflow.com/questions/67250736/…
@OMiShah Нет, это не потому, что они оба связаны с Getx, но моя проблема в том, чтобы получить его.
Попробуйте locator.reset();
Это из документации:
Future<void> reset({bool dispose = true});
Очищает все зарегистрированные типы. Удобно при написании модульных тестов
Если вы предоставили функцию удаления при регистрации, они будут вызываться
[распоряжаться] если false
он только сбрасывается без вызова каких-либо функций удаления
Поскольку функции удаления могут быть асинхронными, вам следует дождаться этой функции.
дублирующий квест!
Что не сработало? Вы поставили allowReassignment = true
?
Отвечает ли это на ваш вопрос? Как сбросить контроллер, когда я вернусь или закончу?