发表于: 2017-05-14 22:42:33
2 943
今天完成的事情
学习Angular路由。
明天计划的事情
- 了解任务6要求;
- 实现简单Angular路由功能
遇到的问题
好好的一个demo,写着写着就崩了,莫名其妙
收获
关于Angular路由
Angular路由主要通过以下三点来实现:
a. 写在app.module.ts里面的:
{path: 'heroes',component: HeroesComponent}
path
路由器会用它来匹配浏览器地址栏中的地址;component
导航到次路由的时候,路由器会加载HeroesComponent
组件
它们定义在一个RouterModule.forRoot
数组中,需要在app.module.ts
中添加RouterModule
所以完成的应该是:
import { RouterModule } from '@angular/router';@NgModule({imports: [BrowserModule,FormsModule,RouterModule.forRoot([{path: 'heroes',component: HeroesComponent}])],})
b. 写的组件(hero.component)中的:
<a routerLink="/heroes">Heroes</a>
锚标签中的[routerLink]绑定。 我们把RouterLink指令(ROUTER_DIRECTIVES中的另一个指令)绑定到一个字符串。 它将告诉路由器,当用户点击这个链接时,应该导航到哪里。
c. 写的组件(hero.component)中的:
<router-outlet></router-outlet>
路由出口(Outlet)
如果我们把路径/heroes粘贴到浏览器的地址栏,路由器会匹配到'Heroes'路由,并显示HeroesComponent组件。 我们必须告诉路由器它位置,所以我们把<router-outlet>
标签添加到模板的底部。 RouterOutlet是由RouterModule提供的指令之一。 当我们在应用中导航时,路由器就把激活的组件显示在<router-outlet>
里面。
评论