没有声明顶级getter <classname>

时间:2016-09-02 12:14:43

标签: dart atom-editor flutter

我正在扩展flutter_gallery示例。

我尝试创建新的图库项目

new GalleryItem(
  title: 'Journal',
  subtitle: 'Example app coding',
  category: 'Apps',
  routeName: JournalDemo.routeName,
  buildRoute: (BuildContext context) => new JournalDemo()
),

我导入了import '../journal/journal_all.dart';

我有export 'journal_demo.dart';

JournalDemo类与ListDemo是同一个类,我只更改了类名和州名:

class JournalDemo extends StatefulWidget {
  JournalDemo({ Key key }) : super(key: key);

  static const String routeName = '/journal';

  @override
  JournalDemoState createState() => new JournalDemoState();
} 

class JournalDemoState extends State<JournalDemo> {
 .......

这是我得到的例外

I/flutter : ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter : The following NoSuchMethodError was thrown building GalleryApp(dirty; state: I/flutter : GalleryAppState(48280642)): I/flutter : No top-level getter 'JournalDemo' declared. I/flutter : NoSuchMethodError: method not found: 'JournalDemo' I/flutter : Receiver: top-level I/flutter : Arguments: [...] I/flutter : When the exception was thrown, this was the stack: I/flutter : #0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:184) I/flutter : #1 kAllGalleryItems (/Users/matej/IdeaProjects/flutter/journal/lib/gallery/item.dart:51) I/flutter : #2 kAllGalleryItems (/Users/matej/IdeaProjects/flutter/journal/lib/gallery/item.dart:45)

我应该改变什么?

谢谢

1 个答案:

答案 0 :(得分:1)

这看起来你的代码中缺少导入或解析错误。我建议您使用flutter analyze作为上述海报之一建议。

No top-level getter 'JournalDemo' declared表示它无法在全局范围内找到值JournalDemo。要么是因为它未导入,要么是因为在此错误之前存在解析错误。