Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Jonny Borges
2021-07-20 06:02:31 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
78e8fac2fb3f278bb0479a11d553914756e56e53
78e8fac2
1 parent
008cb103
fix controller remain when navigate to same route
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
103 deletions
example_nav2/lib/main.dart
example_nav2/lib/main.dart
View file @
78e8fac
import
'package:flutter/material.dart'
;
import
'package:get/get.dart'
;
import
'dart:math'
;
void
main
(
)
{
runApp
(
GetMaterialApp
(
initialRoute:
'/splash'
,
getPages:
[
GetPage
(
name:
'/splash'
,
page:
()
=>
SplashPage
(),
binding:
SplashBinding
(),
),
GetPage
(
name:
'/login'
,
page:
()
=>
LoginPage
(),
binding:
LoginBinding
(),
),
],
));
}
class
SplashPage
extends
GetView
<
SplashController
>
{
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
title:
Text
(
'Splash'
)),
body:
Center
(
child:
RaisedButton
(
onPressed:
()
=>
Get
.
offNamed
(
'/login'
),
child:
Obx
(()
=>
Text
(
'Login
${controller.service.title}
>>>
${controller.service.counter}
'
)),
),
),
floatingActionButton:
FloatingActionButton
(
onPressed:
controller
.
service
.
increment
,
child:
Icon
(
Icons
.
add
),
),
);
}
}
class
SplashBinding
extends
Bindings
{
@override
void
dependencies
()
{
Get
.
lazyPut
(()
=>
ServiceController
());
// or lazyPut
Get
.
lazyPut
(()
=>
SplashController
(
service:
Get
.
find
()));
}
}
class
SplashController
extends
GetxController
{
// final service = Get.find<ServiceController>();
final
ServiceController
service
;
SplashController
({
required
this
.
service
,
});
}
import
'app/routes/app_pages.dart'
;
import
'services/auth_service.dart'
;
class
LoginBinding
extends
Bindings
{
@override
void
dependencies
()
{
Get
.
lazyPut
(()
=>
ServiceController
());
// or lazyPut
Get
.
lazyPut
(()
=>
LoginController
(
service:
Get
.
find
()));
}
}
class
LoginController
extends
GetxController
{
// final service = Get.find<ServiceController>();
final
ServiceController
service
;
LoginController
({
required
this
.
service
,
});
}
class
LoginPage
extends
GetView
<
LoginController
>
{
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
title:
Text
(
'Login'
)),
body:
Center
(
child:
Obx
(()
=>
Text
(
'Login
${controller.service.title}
>>>
${controller.service.counter}
'
)),
),
floatingActionButton:
FloatingActionButton
(
onPressed:
controller
.
service
.
increment
,
child:
Icon
(
Icons
.
add
),
void
main
(
)
{
runApp
(
GetMaterialApp
.
router
(
title:
"Application"
,
initialBinding:
BindingsBuilder
(
()
{
Get
.
put
(
AuthService
());
},
),
);
}
}
class
ServiceController
extends
GetxController
{
final
title
=
Random
().
nextInt
(
99999
).
toString
();
final
counter
=
0
.
obs
;
increment
()
=>
counter
.
value
++;
@override
void
onInit
()
{
print
(
'onInit
$counter
'
);
super
.
onInit
();
}
@override
void
onClose
()
{
print
(
'onClose
$counter
'
);
super
.
onClose
();
}
getPages:
AppPages
.
routes
,
// routeInformationParser: GetInformationParser(
// // initialRoute: Routes.HOME,
// ),
// routerDelegate: GetDelegate(
// backButtonPopMode: PopMode.History,
// preventDuplicateHandlingMode:
// PreventDuplicateHandlingMode.ReorderRoutes,
// ),
),
);
}
...
...
Please
register
or
login
to post a comment