Also update dart_to_js_script_rewriter dependency to ^1.0.1, and change most angular2.dart imports to be core.dart instead. The pipes example broke without the angular2.dart import, so I let it be. The server-communication sample has never worked for me, so I changed it but might have broken it further. closes #1007
49 lines
1007 B
Dart
49 lines
1007 B
Dart
// #docregion
|
|
import 'package:angular2/core.dart';
|
|
|
|
import 'hero.dart';
|
|
import 'restore_service.dart';
|
|
|
|
@Component(
|
|
selector: 'hero-editor',
|
|
// #docregion providers
|
|
providers: const [RestoreService],
|
|
// #enddocregion providers
|
|
template: '''
|
|
<div>
|
|
<span>Name:</span>
|
|
<input [(ngModel)]="hero.name"/>
|
|
<div>
|
|
<button (click)="onSaved()">save</button>
|
|
<button (click)="onCanceled()">cancel</button>
|
|
</div>
|
|
</div>
|
|
''')
|
|
class HeroEditorComponent {
|
|
@Output() final EventEmitter canceled = new EventEmitter();
|
|
@Output() final EventEmitter saved = new EventEmitter();
|
|
|
|
RestoreService<Hero> _restoreService;
|
|
|
|
HeroEditorComponent(this._restoreService);
|
|
|
|
@Input()
|
|
set hero(Hero hero) {
|
|
_restoreService.setItem(hero);
|
|
}
|
|
|
|
Hero get hero {
|
|
return _restoreService.getItem();
|
|
}
|
|
|
|
onSaved() {
|
|
saved.add(_restoreService.getItem());
|
|
}
|
|
|
|
onCanceled() {
|
|
hero = _restoreService.restoreItem();
|
|
canceled.add(hero);
|
|
}
|
|
}
|
|
// #enddocregion
|