Dart 方法$Class 语法

Dart method$Class syntax

我是 dart 的新手,并遵循网页上 Dart 上提供的tutorial

这一切都说得通——除了一条语法:

final InjectorFactory injector = self.injector$Injector;

这是教程的完整代码:

import 'main.template.dart' as self;

const useHashLS = false;

@GenerateInjector([
  routerProvidersHash,
  ClassProvider(Client, useClass: InMemoryDataService),
  // Using a real back end?
  // Import 'package:http/browser_client.dart' and change the 
 above to:
  //   ClassProvider(Client, useClass: BrowserClient),
])
final InjectorFactory injector = self.injector$Injector;

void main() {
  runApp(ng.AppComponentNgFactory, createInjector: injector);
}

我对明显的 .method$Class 语法感到困惑。谁能给我解释一下 means/what 它在做什么?

它在 Webstorm 中也用消息 The getter 'injector$Injector' isn't defined for the class 'self' 加下划线。无论如何,它运行良好并按预期工作。

提前致谢!

标识符中的

$ 没有特殊含义。按照惯例,它通常用于生成代码中的名称。

Angular 也使用代码生成,代码仅在执行代码生成后可用,例如 webdev servewebdev build.

我不知道当前状态,但代码可能仍会在 DartAnalyzler 未分析的目录中生成,即使应用可以 运行 没有问题,您也可能总是会看到错误.