initState method
void
initState()
Implementation
void initState() {
widget.initState?.call(this);
final isRegistered = Get.isRegistered<T>(tag: widget.tag);
if (widget.global) {
switch ((isRegistered, widget.lazy)) {
case (true, _):
_isCreator = Get.isPrepared<T>(tag: widget.tag);
_controllerBuilder = () => Get.find<T>(tag: widget.tag);
case (false, true):
_controllerBuilder =
() => (widget.create?.call(this) ?? widget.init?.call()) as T;
_isCreator = true;
Get.lazyPut<T>(_controllerBuilder!, tag: widget.tag);
case (false, false):
_controllerBuilder =
() => (widget.create?.call(this) ?? widget.init?.call()) as T;
_isCreator = true;
Get.put<T>(_controllerBuilder!(), tag: widget.tag);
}
} else {
// For non-global controllers, handle creation and initialization
_controllerBuilder = switch (widget.create) {
var createFn? => () => createFn(this) as T,
_ => widget.init
};
_isCreator = true;
_needStart = true;
}
}