我有以下进口商品
import 'package:redacted/Pages/BasePage.dart' as Pages;
import 'package:redacted/Pages/FreeText.dart' as Pages;
import 'package:redacted/Pages/Generic.dart' as Pages;
import 'package:redacted/Pages/Numeric.dart' as Pages;
import 'package:redacted/Pages/Identity.dart' as Pages;
我想做这样的事情
import 'package:redacted/Pages' as Pages;
所以我可以在代码中执行以下操作:Pages.Generic
或Pages.Numeric
如果您对这5个为什么感兴趣,这里至少有一个。我正在使用相同名称但内容不同的其他类。
import 'package:redacted/Content/BaseContent.dart' as Content;
import 'package:redacted/Content/FreeText.dart' as Content;
import 'package:redacted/Content/Generic.dart' as Content;
import 'package:redacted/Content/Numeric.dart' as Content;
import 'package:redacted/Content/Identity.dart' as Content;
内容是页面的内容,页面是页面的UI。在有问题的文件中,我需要两个导入,这是我要进行内容页面匹配的地方。所以我需要能够区分。
理想情况下,我只需要输入Content.FreeText
或Pages.FreeText
即可,但是现在我需要在每次导入时分别添加as Pages
和as Content
,除了必须手动导入所有内容。
是否可能出现以下类似情况?
import 'package:redacted/Pages' as Pages;
import 'package:redacted/Content' as Content;
答案 0 :(得分:3)
您可以创建一个“索引”文件,该文件导出要捆绑的所有类。
例如redacted/Content/screens.dart
:
export 'BaseContent.dart';
export 'FreeText.dart';
export 'Generic.dart';
export 'Numeric.dart';
export 'Identity.dart';
一旦有了,就可以通过以下方式导入它:
import 'package:redacted/Content/screens.dart' as Screens;
这与您create a Dart library package的方式非常相似。