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
 |