import 'package:angular2/core.dart'; import 'app_config.dart'; import 'car/car_component.dart'; import 'heroes/heroes_component.dart'; import 'logger_service.dart'; import 'user_service.dart'; import 'injector_component.dart'; import 'test_component.dart'; import 'providers_component.dart'; @Component( selector: 'my-app', template: '''

{{title}}

User

{{userInfo}}

''', directives: const [ CarComponent, HeroesComponent, InjectorComponent, TestComponent, ProvidersComponent ], // #docregion providers providers: const [ Logger, UserService, const Provider(APP_CONFIG, useFactory: heroDiConfigFactory)] // #enddocregion providers ) class AppComponent { final UserService _userService; final String title; // #docregion ctor AppComponent(@Inject(APP_CONFIG) AppConfig config, this._userService) : title = config.title; // #enddocregion ctor bool get isAuthorized { return user.isAuthorized; } void nextUser() { _userService.getNewUser(); } User get user { return _userService.user; } String get userInfo => 'Current user, ${user.name}, is' + (isAuthorized ? '' : ' not') + ' authorized. '; }