Синтаксис метода класса $ Dart - PullRequest
0 голосов
/ 25 января 2019

Я новичок в дартс и следую учебнику , предоставленному в Dart для веб-страницы.

Все это имеет смысл - кроме одного фрагмента синтаксиса:

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.Может кто-нибудь объяснить мне, что это значит / что он делает?

Это также подчеркнуто в Webstorm с сообщением The getter 'injector$Injector' isn't defined for the class 'self'.Несмотря на это, он работает нормально и работает как положено.

Заранее спасибо!

1 Ответ

0 голосов
/ 25 января 2019

$ в идентификаторе не имеет особого значения.По соглашению часто используется для имен в сгенерированном коде.

Angular также использует генерацию кода, и код станет доступным только после того, как генерация кода будет выполнена, например, webdev serve или webdev build.

Я не знаю текущего состояния, нокод все еще может быть сгенерирован в каталоге, который не анализируется DartAnalyzler, и вы всегда можете увидеть ошибку, даже если приложение может быть запущено без проблем.

...