从另一个dart.file(Flutter)导入和调用Class的代码之间有什么区别

时间:2020-06-03 21:01:27

标签: flutter bloc

1)如您所见,我正在练习颤振块模式。 这里有很多进口。它们之间有什么区别? (包裹:bloc / bloc.dart)(包裹:bloc.dart)(包裹:test1 / bloc.dart) test1是我的项目名称。 enter image description here

2)然后,我尝试调用bloc.dart文件中的Bloc类。但是它说Bloc()不是函数。我该怎么办?

也是我的bloc.dart文件: enter image description here

1 个答案:

答案 0 :(得分:0)

程序包导入和相对导入之间没有实际区别,但是出于代码易读性和组织性的考虑,首选程序包导入。同样,当您从某个位置更改文件并必须重命名所有导入时,相对导入也很麻烦。

您“可以”对同一文件使用两种导入方式,因为Dart将它们视为2个不同的名称空间,但这可能会导致错误,很可能就是导致错误的原因。

关于BLoC模式,似乎您使用的是BLoC的纯粹核心,我建议您研究flutter_bloc(由BLoC团队完成)的实现。这是BLoC经常使用的方式。 BLoC团队在here中也提供了出色的文档。