我希望能够在另一个文件夹中创建一些复杂的小部件,并将其放入单独的文件中,以便通过助手脚本导入和配置。以下是文件树:
- lib/ - constants.dart - file1.dart - file2.dart - main.dart - utils.dart - utils/ - complex_widget1.dart - complex_widget2.dart - complex_widget3.dart
utils.dart
中包含以下内容:
import "utils/complex_widget1.dart";
import "utils/complex_widget2.dart";
import "utils/complex_widget3.dart";
class Utils {
final Widget1 widget1;
final Widget2 widget2;
final Widget3 widget3;
final String data_needed_by_widgets;
Utils (this.data_needed_by_widgets) :
widget1 = Widget1(data_needed_by_widgets),
widget2 = Widget2(data_needed_by_widgets),
widget3 = Widget3(data_needed_by_widgets);
}
这应该可以正常工作。但是当我想在我的小部件中访问constants.dart
时出现问题(它保存了一堆const
字符串和其他我在所有文件中使用的东西):
utils/complex_widget1.dart
:
// Pretend this has actually complicated stuff
import "constants.dart"; // How do I import this?
class Widget1 extends StatelessWidget {
@override
Widget build (BuildContext context) => Center (
child: Text (TITLE_TEXT) // From constants.dart
);
}
我不能从constants.dart
中导入单个变量,它们都是全局的,并且没有类或函数可作为参数传递。我该如何在Widget1
(或其他任何complex_widget
)中访问constants.dart
的值?
import '../constants.dart';
- Richard Heap