首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >` mat-tab`中的Angular 10 `routerLink`不工作

` mat-tab`中的Angular 10 `routerLink`不工作
EN

Stack Overflow用户
提问于 2020-07-03 06:23:10
回答 3查看 446关注 0票数 0

我使用的是Angular 10。在CoreModule类中,我有一个组件NavbarComponent。我在NavbarComponent组件中有这个超文本标记语言模板:

代码语言:javascript
复制
<mat-tab-group mat-align-tabs="end">
    <mat-tab routerLinkActive>Home</mat-tab>
    <mat-tab routerLink="/user/registration"></mat-tab>
    <mat-tab>Login</mat-tab>
</mat-tab-group>

单击该链接后,没有任何反应。URL不会更改。这一直都是一样的,http://localhost:4200/home。在HomeModule模块的类中,有一个带有HTML模板的组件:

代码语言:javascript
复制
<app-navbar></app-navbar>
<app-footer></app-footer>

HomeRoutingModule类包含数组:

const routes: Routes = [{ path: '', component: HomeComponent }];

AppRoutingModule类包含数组:

代码语言:javascript
复制
const routes: Routes = [
  {
    path: 'home',
    loadChildren: () => import('./modules/home/home.module').then(m => m.HomeModule)
  },
  { path: 'user',
    loadChildren: () => import('./modules/users/users.module').then(m => m.UsersModule)
  },
  {
    path: '',
    pathMatch: 'full',
    redirectTo: 'home'
  },
];

UsersRoutingModule类包含数组:

代码语言:javascript
复制
const routes: Routes = [
  {
    path: 'user',
    component: UsersComponent,
    children: [
      {
        path: 'registration',
        data: { title: 'registration' },
        component: UserRegistrationComponent,
      }
    ]
  }
];

项目结构:

我不知道如何使重定向到UserRegistrationComponent执行。当我点击:<mat-tab routerLink ="/user/registration ">网址不会改变。

请帮帮忙。非常感谢。

EN

回答 3

Stack Overflow用户

发布于 2020-07-03 06:37:36

与您的路线相关,这将会起作用

代码语言:javascript
复制
<mat-tab routerLink="/user/user/registration"></mat-tab>

因为你有

代码语言:javascript
复制
{ path: 'user',
 loadChildren: () => import('./modules/users/users.module').then(m => m.UsersModule)
},

因此,/user将加载延迟加载的模块,然后加载第二个/user

代码语言:javascript
复制
{
path: 'user',
component: UsersComponent,
children: [
  {
    path: 'registration',
    data: { title: 'registration' },
    component: UserRegistrationComponent,
  }
]
}

您可以尝试更改用户的模块路由,如下所示

代码语言:javascript
复制
{
path: '',
component: UsersComponent,
children: [
  {
    path: 'registration',
    data: { title: 'registration' },
    component: UserRegistrationComponent,
  }
]
}

要想让它工作

代码语言:javascript
复制
<mat-tab routerLink="/user/registration"></mat-tab>
票数 0
EN

Stack Overflow用户

发布于 2020-07-03 07:15:30

URL仍然不会改变:(我按照你写的那样做了。在UsersRoutingModule类中,我更改了

代码语言:javascript
复制
const routes: Routes = [
  {
    path: '',
    component: UsersComponent,
    children: [
      {
        path: 'registration',
        data: { title: 'registration' },
        component: UserRegistrationComponent,
      }
    ]
  }
];

在HTML模板<mat-tab routerLink="/user/registration"></mat-tab>中,我仍然不知道如何改进到UserRegistrationComponent的重定向

票数 0
EN

Stack Overflow用户

发布于 2020-07-03 22:05:39

我修改了项目结构。我希望仅在单击按钮后才加载用户模块,但它仍然不起作用

HTML模板navbar.component.html:

代码语言:javascript
复制
<mat-tab-group mat-align-tabs="end">
    <mat-tab routerLinkActive>Home</mat-tab>
    <mat-tab routerLink='user/registration'></mat-tab>
</mat-tab-group>

UsersRoutingModule类中的路由表如下:

代码语言:javascript
复制
const routes: Routes = [
  {
    path: '',
    component: UsersComponent,
    children: [
      {
        path: 'registration',
        data: { title: 'registration' },
        component: UserRegistrationComponent,
      }
    ]
  }
];

AppRoutingModule类中的路由表如下:

代码语言:javascript
复制
const routes: Routes = [
  {
    path: 'user',
    loadChildren: () => import('./modules/users/users.module').then(m => m.UsersModule)
  },
  {
    path: '',
    component: AppComponent,
  }
];

HTML模板app.component.html:

代码语言:javascript
复制
<app-navbar></app-navbar>
<app-footer></app-footer>

app.module.ts:

代码语言:javascript
复制
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    FormsModule,
    HttpClientModule,
    AppRoutingModule,
    CoreModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

新建项目结构:

这个项目结构对我来说似乎更好,但重定向仍然不起作用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62705860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档