【发布时间】:2021-07-31 23:33:12
【问题描述】:
在我的 Flutter 应用中,我使用 GetxController 作为每个视图的视图模型:
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'track_activity_view_model.dart';
// Main widget of the view
class TrackActivityView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetBuilder<TrackActivityViewModel>(
init: TrackActivityViewModel(),
builder: (viewModel) {
return SafeArea(
child: Scaffold(
appBar: AppBar(title: Text('Registra un\'attività')),
body: viewModel.serviceEnabled
? AskPermissionWidget()
: TrackingWidget(viewModel),
));
});
}
}
class AskPermissionWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetBuilder<TrackActivityViewModel>(
init: TrackActivityViewModel(),
builder: (viewModel) {
// Some code that use viewModel
return Container();
});
}
}
class TrackingWidget extends StatelessWidget {
final TrackActivityViewModel viewModel;
TrackingWidget(this.viewModel);
@override
Widget build(BuildContext context) {
// Some code that use viewModel
return Container();
}
}
当我写一些嵌套的小部件时,我想知道它是否更好
- 从头调用控制器 (AskPermissionWidget)
或
- 将控制器作为参数传递(TrackingWidget)
有什么不同吗?
非常感谢。
【问题讨论】:
标签: flutter dart flutter-getx