Ich schreibe ein einfaches Paging-Widget in Angular2Dart. Die Komponente verfügt über eine route
-Methode, die die aktuelle Route abrufen, Parameter aktualisieren und navigieren soll. Ich bin mir nicht sicher, ob ich das richtig mache, aber in dieser aktuellen Implementierung verwende ich router.currentInstruction
. Das Problem ist router.currentInstruction
ist null.Angular2Dart Router.currentInstruction wird nicht gesetzt
Hier ist die Komponente (für diese Frage vereinfacht):
import 'package:angular2/angular2.dart';
import 'package:angular2/router.dart';
import 'package:angular_components/angular_components.dart';
@Component(
selector: 'paging-component',
templateUrl: 'paging_component.html',
styleUrls: const [
'paging_component.css'
],
directives: const [
CORE_DIRECTIVES,
FORM_DIRECTIVES,
materialDirectives,
],
)
class PagingComponent {
final RouteParams routeParams;
final Router _router;
PagingComponent(this.routeParams, this._router);
void _route([Map<String, String> updatedParams]) {
var existingParams = new Map.from(routeParams.params);
if (updatedParams != null) {
existingParams.addAll(updatedParams);
}
var currentRoute = _router.currentInstruction.component.routeName;
_router.navigate([currentRoute, existingParams]);
}
}
Das funktionierte, obwohl ich currentInstruction verwenden würde es vorziehen. Um Ihre Frage zu beantworten, wird diese Routenmethode aufgerufen, nachdem die Komponente vollständig geladen wurde, z. B. wenn sie auf eine Schaltfläche "Nächste Seite" klicken. –