64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
|  | // #docplaster
 | ||
|  | 
 | ||
|  | // #docregion
 | ||
|  | 
 | ||
|  | // #docregion imports
 | ||
|  | import 'package:angular2/core.dart'; | ||
|  | import 'car/car_component.dart'; | ||
|  | import 'heroes/heroes_component.dart'; | ||
|  | import 'app_config.dart'; | ||
|  | import 'logger_service.dart'; | ||
|  | import 'user_service.dart'; | ||
|  | 
 | ||
|  | // #enddocregion imports
 | ||
|  | import 'injector_component.dart'; | ||
|  | import 'providers_component.dart'; | ||
|  | 
 | ||
|  | @Component( | ||
|  |     selector: 'my-app', | ||
|  |     template: '''
 | ||
|  |     <h1>{{title}}</h1> | ||
|  |     <my-car></my-car> | ||
|  |     <my-injectors></my-injectors> | ||
|  |     <my-tests></my-tests> | ||
|  |     <h2>User</h2> | ||
|  |     <p id="user"> | ||
|  |       {{userInfo}} | ||
|  |       <button (click)=\'nextUser()\'>Next User</button> | ||
|  |     <p> | ||
|  |     <my-heroes id="authorized" *ngIf="isAuthorized"></my-heroes> | ||
|  |     <my-heroes id="unauthorized" *ngIf="!isAuthorized"></my-heroes> | ||
|  |   ''',
 | ||
|  |     directives: const [CarComponent, HeroesComponent, InjectorComponent, ProvidersComponent], | ||
|  | // #docregion providers
 | ||
|  |     providers: const [Logger, UserService, const Provider(Config, useValue: CONFIG)] | ||
|  | // #enddocregion providers
 | ||
|  |     ) | ||
|  | class AppComponent { | ||
|  |   UserService _userService; | ||
|  |   String title; | ||
|  | 
 | ||
|  |   //#docregion ctor
 | ||
|  |   AppComponent(Config 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 { | ||
|  |     return 'Current user, ${user.name}, is ${isAuthorized ? "" : "not"} authorized. '; | ||
|  |   } | ||
|  | } | ||
|  | // #enddocregion
 |