在pubspec.yaml中添加
TODO: 此包尚未发布到pub.dev(也许将来会)
# cupertino_icons: ^1.0.2
homura:
git:
url: https://github.com/lyuz1n/homura.git
导入
import 'package:homura/homura.dart';
注入永久控制器,例如Provider
TODO: 推荐路径 src/app/app_controllers.dart
abstract class AppControllers {
static void init() {
Homura.put(AppController());
// Homura.put(OtherExampleController());
}
}
在main中调用AppControllers的init方法
void main() {
WidgetsFlutterBinding.ensureInitialized();
AppControllers.init();
runApp(const App());
}
计数器应用示例
class AppController extends HomuraController {
int count = 0;
void increment() {
count++;
update();
}
}
class AppView extends HomuraView<AppController> {
const AppView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: HBuilder(
() => Text('counter: ${controller.count}'),
),
),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
onPressed: controller.increment,
),
);
}
}