我正在从事angular2项目,在该项目中,我使用ROUTER_DIRECTIVES
从一个组件导航到另一个组件.
有两个组件.i、 e.PagesComponent
&;DesignerComponent
我想从PagesComponent导航到DesignerComponent.
到目前为止,它的路由是正确的,但我需要通过page
个对象,这样设计器就可以自己加载页面对象.
我试着使用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
}
到目前为止,它正确地路由到designer,但当我试图在designer中访问page
个对象时,它显示的是undefined
.