Angular 4 孩子不起作用



我想点击一个链接,甚至更简单地在URL中输入/child并查看该页面,但对我来说不起作用。

我想我错过了什么。 在我的创建 html 页面中,我有<router-outlet></router-outlet>.

在此组件创建中,我有一个子搜索结果组件,该组件与商品和付款子组件处于同一级别。

在搜索结果 html 页面上,我有商品和付款的链接。

http://localhost:5050/create/search-result/search-results

当我点击商品时,我想拥有网址:

http://localhost:5050/create-trade/goods

现在不行了。为什么?每次我被重定向到登录页面时。

<a class="btn btn-primary float-right" routerLink="/goods">
<a class="btn btn-primary float-right" routerLink="/payment">

路由器

{path: 'login', component: LoginComponent},
{path: 'create/:section', component: CreateTradeComponent, ,
children: [
{path: '', redirectTo: 'search-results', pathMatch: 'full'},
{path: 'search-results', component: TradeSearchResultsComponent},
{path: 'goods', component: GoodsComponent},
{path: 'payment', component: PaymentComponent},
]
},
{path: '**', redirectTo: 'login'}

如果尝试从创建组件子路由重定向。它将生成类似/create/search-result/search-results的 URL,因为它从当前激活的路由创建一个 URL。在创建路由之前,您应该使用../返回路由段。然后你就准备好了。

<a class="btn btn-primary float-right" routerLink="['../goods']">
<a class="btn btn-primary float-right" routerLink="['../payment']">

创建组件内应该有一个路由器插座。不在搜索结果内。将以下代码放在创建组件中

<a [routerLink]="['goods']">goods</a>
<a [routerLink]="['payment']">payment</a>

最新更新