Jonny Borges
Committed by GitHub

Merge pull request #2624 from jonataslaw/refactor-bind-create

Refactor bind create
... ... @@ -76,14 +76,14 @@ class AppPages {
transition: Transition.cupertino,
showCupertinoParallax: true,
participatesInRootNavigator: false,
bindings: [ProductsBinding()],
bindings: [ProductsBinding(), ProductDetailsBinding()],
children: [
GetPage(
name: _Paths.productDetails,
transition: Transition.cupertino,
showCupertinoParallax: true,
transition: Transition.cupertino,
showCupertinoParallax: true,
page: () => ProductDetailsView(),
bindings: [ProductDetailsBinding()],
bindings: [],
middlewares: [
//only enter this route when authed
EnsureAuthMiddleware(),
... ...
import 'package:example_nav2/services/auth_service.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'app/modules/splash/controllers/splash_service.dart';
import 'app/routes/app_pages.dart';
import 'services/auth_service.dart';
void main() {
runApp(
... ...
... ... @@ -20,6 +20,11 @@ class InstanceInfo {
required this.isPrepared,
required this.isInit,
});
@override
String toString() {
return 'InstanceInfo(isPermanent: $isPermanent, isSingleton: $isSingleton, isRegistered: $isRegistered, isPrepared: $isPrepared, isInit: $isInit)';
}
}
extension Inst on GetInterface {
... ...
... ... @@ -463,6 +463,12 @@ class BindElement<T> extends InheritedElement {
}
}
} else {
if (widget.create != null) {
_controllerBuilder = () => widget.create!.call(this);
Get.create<T>(_controllerBuilder!, tag: widget.tag, permanent: false);
} else {
_controllerBuilder = widget.init;
}
_controllerBuilder =
(widget.create != null ? () => widget.create!.call(this) : null) ??
widget.init;
... ...
... ... @@ -81,6 +81,7 @@ class _GetCache<S extends GetLifeCycleMixin> extends WidgetCache<GetWidget<S>> {
}
GetWidget._cache[widget!] = _controller;
super.onInit();
}
... ...