Sto lavorando a questo progetto angular2 in cui sto usando ROUTER_DIRECTIVES
per navigare da un componente all'altro.Angolare 2: passaggio dei dati alle rotte?
Ci sono 2 componenti. Ad esempio PagesComponent
& DesignerComponent
.
Desidero passare da PagesComponent a DesignerComponent.
Finora il suo instradamento correttamente ma ho dovuto passare page
Oggetto in modo che il progettista possa caricare l'oggetto di pagina in sé.
Ho provato a utilizzare RouteParams ma ha ottenuto l'oggetto pagina undefined
.
sotto è il mio codice:
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() { }
}
nel codice HTML, che sto facendo seguente:
<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>
Nel costruttore DesignerComponent che ho fatto il seguente:
constructor(params: RouteParams) {
this.page = params.get('page');
console.log(this.page);//undefined
}
Finora il suo instradamento correttamente per progettista, ma quando sto cercando di accedere a page
oggetto nel designer, quindi la sua mostra undefined
. Qualche soluzione?
'ROUTER_DIRECTIVES' suona come se usassi una versione Angolare del Medioevo ;-) –