发表于: 2017-06-01 23:41:16

2 1159


2017-06-01 Day072

今天完成的事情

  1. 1. 将TopNavbarComponentMainNavbarComponent两个组件作为NavbarComponent组件的子组件,实现一个路由导航两个组件;
  2. 2. 将MainNavbarComponent的侧栏用动态生成来做,没有请求服务器数据,使用是假数据,自己写的一个,树结构也是改了好几次:
//
@Injectable()
export class GetMainNavbarItemsService {
 public mainList: any[] = mainList;
 constructor() { }
 //
 // changeFormat(){
 // }
}
let mainList: any[] = [
 // {name: '', tableId: 1, list: {name: ['', ''], listId: 1}},
 {name: '', tableId: 1, list: [{name: '', listId: 1}, {name: '', listId: 2}]},
 {name: '', tableId: 2, list: [{name: '', listId: 1}, {name: '', listId: 2}]},
 {name: '', tableId: 3, list: [{name: '', listId: 1}, {name: '', listId: 2}]},
 {name: '', tableId: 4, list: [{name: '', listId: 1}, {name: '', listId: 2}]},
 {name: '', tableId: 5, list: [{name: '', listId: 1}, {name: '', listId: 2}]},
 {name: '', tableId: 6, list: [{name: '', listId: 1}, {name: '', listId: 2}, {name: '', listId: 3}]},
 {name: '', tableId: 7, list: [{name: '', listId: 1}, {name: '', listId: 2}]},
];

MainNavbarComponent的模板这样写:

<div>
 
 <ul *ngFor="let first of mainList">
   <a>{{first.name}}</a>
   <li *ngFor="let second of first.list"
       (click)="listInfo(first.tableId, second.listId)">
     {{second.name}}
   </li>
 </ul>
</div>

样式没有写,先实现功能。

明天计划的事情

有个bug明天解决了。再写一个列表的组件。

遇到的问题

这个bug就是:看我的子路由:

 {
   path: 'navbar',
   component: NavbarComponent,
   children: [
     {path: '', component: WelcomeComponent},
     {path: 'navbar11', component: WelcomeComponent},
     {path: '**', component: Code404Component},
   ]
 }

在组件中跳转:

 listInfo(tableId: number, listId: number){
   //get current route
   let routeLink: string = `./navbar${tableId * 10 + listId}`;
   console.log(`${routeLink}`);
   this.router.navigate([routeLink]);
 }

比如上面得到的路由是./navbar11,那么它应该跳转到的是/navbar/navbar11,可是它就是倔强的跳转到了navbar11,找了好久也没找到解决方法。
使用绝对路径导航就可以实现。。。

收获

基本没有什么收获呀,NgFor熟悉了一下。



返回列表 返回列表
评论

    分享到