发表于: 2017-05-14 22:42:33

2 943


2017-05-14 Day054

今天完成的事情

学习Angular路由。

明天计划的事情

  1. 了解任务6要求;
  2. 实现简单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>里面。



返回列表 返回列表
评论

    分享到