Skip to content

Instantly share code, notes, and snippets.

@unacorbatanegra
Created July 3, 2021 14:35
Show Gist options
  • Save unacorbatanegra/1399ebd571b63588a2f2c27f7ce9dedd to your computer and use it in GitHub Desktop.
Save unacorbatanegra/1399ebd571b63588a2f2c27f7ce9dedd to your computer and use it in GitHub Desktop.
getlocalview
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get/get_state_manager/get_state_manager.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetMaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Home(),
);
}
}
class Home extends GetLocalView<HomeController> {
Home({
Key? key,
}) : super(key: key);
@override
Widget build(context, controller) {
return Scaffold(
appBar: AppBar(
title: Text('test'),
),
body: Obx(
() {
return Second('${controller.counter}');
},
),
floatingActionButton: FloatingActionButton(
// onPressed: () => setState(() {}),
onPressed: () => controller.counter.value++,
),
);
}
@override
HomeController createController() => HomeController();
}
class Second extends GetLocalView<SecondController> {
final String label;
Second(
this.label, {
Key? key,
}) : super(key: key);
@override
Widget build(context, controller) {
return Text(
'el counter es $label y la instancia ${controller.hashCode.toString()}',
);
}
@override
SecondController createController() => SecondController();
}
class HomeController extends GetxController {
final counter = 1.obs;
@override
void onInit() {
print('init');
super.onInit();
}
}
class SecondController extends GetxController {
@override
void onInit() {
print('init');
super.onInit();
}
@override
void onClose() {
print('onClose');
super.onClose();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment