angular - 单击按钮时在路由时隐藏卡片
问题描述
我的用户模块有 5 个组件: 1.user-dashboard
这些是用户仪表板的子组件
2.user-history 3.user-result 4.user-start-quiz 5.user-upcoming-quizzes
我想在每个组件上显示一个菜单。
一、user-dashboard组件加载
我想在用户单击按钮时隐藏仪表板卡片,但它在卡片下方显示“当前测验”。
pagenotfound.html
<!--
navigation
-->
<mdb-navbar SideClass="navbar fixed-top navbar-expand-lg navbar-dark mdb-color scrolling-navbar " [containerInside]="false" >
<mdb-navbar-brand>
<a class="logo navbar-brand" href="#"><strong>Navbar</strong></a>
</mdb-navbar-brand>
<links>
<ul class="navbar-nav ml-auto">
<li class="nav-item active waves-light" >
<a routerLink="../dashboard" class="nav-link">Dashboard<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item waves-light" >
<a [routerLink]="" routerLinkActive="active" class="nav-link" (click)="logout()">Logout</a>
</li>
</ul>
</links>
</mdb-navbar>
<!--
header image
-->
<div class="row">
<div class="col-sm-12 col-md-12">
<div id="box1" style="background-image:url(assets/images/dashboard.jpg) ;
height: 50vh;width: 100%;background-size: cover;display: table;background-attachment: fixed;" class="img-responsive">
<br><br>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4">
<div class="box text-center" style="text-align: center">
Hey Welcome !
</div>
<div class="word text-center">
<span>{{userName}}</span>
<span>{{userName}}</span>
<span>{{userName}}</span>
<span>{{userName}}</span>
</div>
</div>
<div class="col-md-4">
</div>
</div>
</div>
</div>
</div>
<!--
body
-->
<br><br><br>
<!--cards for user dashboards-->
<div class="container">
<div class="row">
<div class=" col-md-3">
<mat-card class="dashboard-cards" style="box-shadow:3px 3px 5px 6px #ccc;" >
<mat-card-content>
<div class="pic">
<img src="assets/images/currentQuiz.jpg" alt="Photo of a Shiba Inu">
</div>
<div class="action">
<button routerLink="currentQuizzes" routerLinkActive="active" class="btn btn-outline-info btn-lg">Current Quizzes</button>
</div>
<ul class="bottom-space">
<li><a href="#"></a></li>
<li><a href="#" ></a></li>
<li><a href="#" ></a></li>
</ul>
</mat-card-content>
</mat-card>
</div>
<div class=" col-md-3">
<mat-card class="dashboard-cards" style="box-shadow:3px 3px 5px 6px #ccc;" >
<mat-card-content>
<div class="pic">
<img src="assets/images/upcomingQuiz.jpg" alt="Photo of a Shiba Inu">
</div>
<div class="action">
<button routerLink="upcomingQuizzes" routerLinkActive="active" class="btn btn-outline-info btn-lg">Upcoming Quizzes</button>
</div>
<ul class="bottom-space">
<li><a href="#"></a></li>
<li><a href="#" ></a></li>
<li><a href="#" ></a></li>
</ul>
</mat-card-content>
</mat-card>
</div>
<div class=" col-md-3 ">
<mat-card class="dashboard-cards" style="box-shadow:3px 3px 5px 6px #ccc;" >
<mat-card-content>
<div class="pic">
<img src="assets/images/history.jpg" alt="Photo of a Shiba Inu">
</div>
<div class="action">
<button routerLink="history" routerLinkActive="active" class="btn btn-outline-info btn-lg">History</button>
</div>
<br>
<ul class="bottom-space">
<li><a href="#"></a></li>
<li><a href="#" ></a></li>
<li><a href="#" ></a></li>
</ul>
</mat-card-content>
</mat-card>
</div>
<div class=" col-md-3 ">
<mat-card class="dashboard-cards" style="box-shadow:3px 3px 5px 6px #ccc;" >
<mat-card-content>
<div class="pic">
<img src="assets/images/ChangePassword.png" alt="Photo of a Shiba Inu">
</div>
<div class="action">
<button class="btn btn-outline-info btn-lg">Change Password</button>
</div>
<ul class="bottom-space">
<li><a href="#"></a></li>
<li><a href="#" ></a></li>
<li><a href="#" ></a></li>
</ul>
</mat-card-content>
</mat-card>
</div>
</div>
</div>
<!--
footer
-->
<br><br><br>
<router-outlet></router-outlet>
如何在路由时隐藏仪表板卡但想要菜单/导航......?
在卡片下方定义
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
/*
all components of user module
*/
import { UserDashboardComponent } from './user-dashboard/user-dashboard.component';
import { UserCurrentQuizzesComponent } from './user-current-quizzes/user-current-quizzes.component';
import { UserUpcomingQuizzesComponent } from './user-upcoming-quizzes/user-upcoming-quizzes.component';
import { UserHistoryComponent } from './user-history/user-history.component';
import { UserResultComponent } from './user-result/user-result.component';
import { UserStartQuizComponent } from './user-start-quiz/user-start-quiz.component';
const routes: Routes = [
{
path:'',
redirectTo:'dashboard',
pathMatch:'full'
},
{
path:'dashboard',
component:UserDashboardComponent,
children:[
{
path:'currentQuizzes',
component:UserCurrentQuizzesComponent,
children:[
{
path:'startQuiz',
component:UserStartQuizComponent,
},
],
},
{
path:'upcomingQuizzes',
component:UserUpcomingQuizzesComponent,
},
{
path:'result',
component:UserResultComponent,
},
{
path:'history',
component:UserHistoryComponent,
},
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class UserRoutingModule { }
export const userRoutingComponents=[
UserDashboardComponent,
UserCurrentQuizzesComponent,
UserUpcomingQuizzesComponent,
UserHistoryComponent,
UserResultComponent,
UserStartQuizComponent,
]
解决方案
推荐阅读
- sql-server - 将 SQL 上的 windows 现有用户添加为系统管理员
- r - 用 R 重命名日期文件
- vue.js - 在 Ag-Grid 中导出到 excel 时将 css 类应用于列
- ios - 远程调试:从 PC 到 iOS/iPhone 的端口转发
- css - Engagespot 覆盖材料图标的自定义 css
- javascript - 如何在 JS 中优化 JSON?
- html - Chrome 81 mimetype 更改为音频/mp3 的文件上传
- bash - 有没有一种直接的方法可以在 MacO 上转换基于毫秒的时间戳?
- sql - 聚合表中的数据,直到表中每一行的日期
- java - 检查连续四场胜利