Ich arbeite an diesem angular2-Projekt, in dem ich ROUTER_DIRECTIVES
verwende, um von einer Komponente zur anderen zu navigieren.Angular 2: Daten an Routen übergeben?
Es gibt 2 Komponenten. h. PagesComponent
& DesignerComponent
.
Ich möchte von PagesComponent zu DesignerComponent navigieren.
Bis jetzt seine Routing korrekt, aber ich musste übergeben page
Object so Designer kann diese Seite Objekt in sich laden.
Ich habe versucht, RouteParams, aber es ruft Seite Objekt undefined
.
pages.component.ts
import {Component, OnInit ,Input} from 'angular2/core';
import { GlobalObjectsService} from './../../shared/services/global/global.objects.service';
import { ROUTER_DIRECTIVES, RouteConfig } from 'angular2/router';
import { DesignerComponent } from './../../designer/designer.component';
import {RouteParams} from 'angular2/router';
@Component({
selector: 'pages',
directives:[ROUTER_DIRECTIVES,],
templateUrl: 'app/project-manager/pages/pages.component.html'
})
@RouteConfig([
{ path: '/',name: 'Designer',component: DesignerComponent }
])
export class PagesComponent implements OnInit {
@Input() pages:any;
public selectedWorkspace:any;
constructor(private globalObjectsService:GlobalObjectsService) {
this.selectedWorkspace=this.globalObjectsService.selectedWorkspace;
}
ngOnInit() { }
}
Im html, ich tue folgendes:
<scrollable height="300" class="list-group" style="overflow-y: auto; width: auto; height: 200px;" *ngFor="#page of pages">
{{page.name}}<a [routerLink]="['Designer',{page: page}]" title="Page Designer"><i class="fa fa-edit"></i></a>
</scrollable>
Im DesignerComponent Konstruktor Ich habe getan,
unter mein Code die folgenden:
constructor(params: RouteParams) {
this.page = params.get('page');
console.log(this.page);//undefined
}
Bis jetzt seine Routing korrekt zu Designer, aber wenn ich versuche, auf page
Objekt in Designer zugreifen, dann zeigt es undefined
. Irgendwelche Lösungen?
'ROUTER_DIRECTIVES' klingt wie Sie eine Angular-Version aus dem dunklen Alter verwenden ;-) –