Я работаю над этим проектом angular2, в котором я использую ROUTER_DIRECTIVES
для перехода от одного компонента к другому.
Есть 2 компонента. т.е. PagesComponent
и DesignerComponent
.
Я хочу перейти от PagesComponent к DesignerComponent.
До сих пор его корректная маршрутизация, но мне нужно было передать page
Object, так что разработчик может самостоятельно загрузить этот объект страницы.
Я пробовал использовать RouteParams Но его объект страницы 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() { }
}
В html, я делаю следующее:
<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>
В конструкторе DesignerComponent я сделал следующее:
constructor(params: RouteParams) {
this.page = params.get('page');
console.log(this.page);//undefined
}
До сих пор его правильная маршрутизация для дизайнера, но когда я пытаюсь получить доступ к page
Object в дизайнере, то он показывает undefined
.
Любые решения?