如何在router outlet angular 4 路由中替换整个页面?
How to replace entire page in router outlet angular 4 routing?
我想在 angular 中单击图像时替换整个页面内容 4. 我有 2 个 HTML 组件,想从一个组件重定向到另一个组件。两个组件都有不同的 header 和内容。
请找出两种布局的SS:
主页组件结果布局:
详细信息组件结果布局:
我想在点击主页时从主页重定向到详细信息 link。因此,单击主页组件 link 时,应显示详细信息组件并隐藏主页组件。
请找我app.module.ts
的路由
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AuthGuard } from './auth/auth.guard';
import { AdminComponent } from './admin/admin.component';
import { DashboardComponent } from './dashboard/Dashboard.component';
import { HomeComponent } from './home/home.component';
import { AppComponent } from './shell/app.component';
import { AppDetailsComponent } from './app-details/app.details.component';
const appRoutes: Routes = [
{
path: 'home',
component: HomeComponent
},
{
path: 'details',
component: AppDetailsComponent
},
{
path: '',
pathMatch: 'full',
redirectTo:'/home'
},
{
path: '**',
component: HomeComponent
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
App.component.html代码
<app-home></app-home>
<router-outlet></router-outlet>
主页组件锚点link 从主页导航到详细信息
<div class="mapContainer" id="MapContainer">
<div class="CustomMapSize">
<a routerLink="/details"><img src="../../../local-npm-packages/assets/images/WorldMap.png" /></a>
</div>
</div>
点击 [routerLink="/details"],新的详细信息页面按预期打开,但 parent 主页布局未隐藏。
如果我的路由有任何问题,谁能提出建议?
发生这种情况是因为您建立了亲子关系。
如果要替换整个页面,请将其设为兄弟关系。
const appRoutes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'details', component: AppDetailsComponent } ]
而在app.component.html中,无需注入<app-home></app-home>
。简单地说,我们必须写 <router-outlet></router-outlet>
也许父主页布局来自
您在上面给出的组件 ,
要替换整个页面,请在您的 app.component.html 中仅使用以下元素:
<router-outlet></router-outlet>
您必须在 app-routing.module
的开头添加 { path: '', component: HomeComponent }
而不是 'home'
,空字符串会在加载 [=14] 时直接将应用定向到 homeComponent
=]
我想用下面的例子来说明。
假设我有 3 个主要组件:
- 应用组件
- 主页组件
- 详情组件
主页组件(无页眉和页脚)包含一个带有“查看详细信息”按钮的项目(名称)。单击按钮后,我们将转到详细信息组件,其中包含有关商品(图片、价格、颜色)的详细信息。
我的应用程序组件的模板将只包含“”
我的路线如下所示:
{
path: 'home',
component: HomeComponent
},
{
path: 'details',
component: DetailsComponent
},
{
path: '',
pathMatch: 'full',
redirectTo:'/home'
},
{
path: '**',
component: HomeComponent
}
有了这个,在 运行 应用程序上,Home 组件(包含项目的名称和按钮)被呈现或显示。然后,单击按钮(在其上设置路由后)将带我们到详细信息组件(在其自己的视图或页面上)
我想在 angular 中单击图像时替换整个页面内容 4. 我有 2 个 HTML 组件,想从一个组件重定向到另一个组件。两个组件都有不同的 header 和内容。
请找出两种布局的SS:
主页组件结果布局:
详细信息组件结果布局:
我想在点击主页时从主页重定向到详细信息 link。因此,单击主页组件 link 时,应显示详细信息组件并隐藏主页组件。
请找我app.module.ts
的路由import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AuthGuard } from './auth/auth.guard';
import { AdminComponent } from './admin/admin.component';
import { DashboardComponent } from './dashboard/Dashboard.component';
import { HomeComponent } from './home/home.component';
import { AppComponent } from './shell/app.component';
import { AppDetailsComponent } from './app-details/app.details.component';
const appRoutes: Routes = [
{
path: 'home',
component: HomeComponent
},
{
path: 'details',
component: AppDetailsComponent
},
{
path: '',
pathMatch: 'full',
redirectTo:'/home'
},
{
path: '**',
component: HomeComponent
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
App.component.html代码
<app-home></app-home>
<router-outlet></router-outlet>
主页组件锚点link 从主页导航到详细信息
<div class="mapContainer" id="MapContainer">
<div class="CustomMapSize">
<a routerLink="/details"><img src="../../../local-npm-packages/assets/images/WorldMap.png" /></a>
</div>
</div>
点击 [routerLink="/details"],新的详细信息页面按预期打开,但 parent 主页布局未隐藏。
如果我的路由有任何问题,谁能提出建议?
发生这种情况是因为您建立了亲子关系。 如果要替换整个页面,请将其设为兄弟关系。
const appRoutes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'details', component: AppDetailsComponent } ]
而在app.component.html中,无需注入<app-home></app-home>
。简单地说,我们必须写 <router-outlet></router-outlet>
也许父主页布局来自
要替换整个页面,请在您的 app.component.html 中仅使用以下元素:
<router-outlet></router-outlet>
您必须在 app-routing.module
的开头添加 { path: '', component: HomeComponent }
而不是 'home'
,空字符串会在加载 [=14] 时直接将应用定向到 homeComponent
=]
我想用下面的例子来说明。 假设我有 3 个主要组件:
- 应用组件
- 主页组件
- 详情组件
主页组件(无页眉和页脚)包含一个带有“查看详细信息”按钮的项目(名称)。单击按钮后,我们将转到详细信息组件,其中包含有关商品(图片、价格、颜色)的详细信息。
我的应用程序组件的模板将只包含“”
我的路线如下所示:
{
path: 'home',
component: HomeComponent
},
{
path: 'details',
component: DetailsComponent
},
{
path: '',
pathMatch: 'full',
redirectTo:'/home'
},
{
path: '**',
component: HomeComponent
}
有了这个,在 运行 应用程序上,Home 组件(包含项目的名称和按钮)被呈现或显示。然后,单击按钮(在其上设置路由后)将带我们到详细信息组件(在其自己的视图或页面上)