1)如您所见,我正在练习颤振块模式。 这里有很多进口。它们之间有什么区别? (包裹:bloc / bloc.dart)(包裹:bloc.dart)(包裹:test1 / bloc.dart) test1是我的项目名称。
2)然后,我尝试调用bloc.dart文件中的Bloc类。但是它说Bloc()不是函数。我该怎么办?
答案 0 :(得分:0)
程序包导入和相对导入之间没有实际区别,但是出于代码易读性和组织性的考虑,首选程序包导入。同样,当您从某个位置更改文件并必须重命名所有导入时,相对导入也很麻烦。
您“可以”对同一文件使用两种导入方式,因为Dart将它们视为2个不同的名称空间,但这可能会导致错误,很可能就是导致错误的原因。
关于BLoC模式,似乎您使用的是BLoC的纯粹核心,我建议您研究flutter_bloc(由BLoC团队完成)的实现。这是BLoC经常使用的方式。 BLoC团队在here中也提供了出色的文档。