我是新来的.因此,我有路由到位,当我的网站导航到/signup,它应该得到注册组件.这里有什么问题?

Signup.component.ts

import { Component } from '@angular/core';

@Component({
  selector: 'app-signup',
  templateUrl: './signup.component.html',
  styleUrl: './signup.component.scss',
})
export class SignupComponent {}

signup.component.html

<div class="signup-container">
  <mat-card class="signup-card">
    <mat-card-content>
      <h2 class="signup-caption">Sign Up</h2>
      <form>
        <div class="form-input">
          <mat-form-field>
            <mat-label>Email</mat-label>
            <input
              matInput
              placeholder="Enter your email"
              name="email"
              type="email"
              required
            />
          </mat-form-field>
        </div>

        <div class="form-input">
          <mat-form-field>
            <mat-label>Name</mat-label>
            <input
              matInput
              placeholder="Enter your Name"
              name="name"
              type="name"
              required
            />
          </mat-form-field>
        </div>

        <div class="form-input">
          <mat-form-field>
            <mat-label>Password</mat-label>
            <input
              matInput
              placeholder="Enter your Password"
              name="password"
              type="password"
              required
            />
          </mat-form-field>
        </div>

        <div class="form-input">
          <mat-form-field>
            <mat-label>Confirm password</mat-label>
            <input
              matInput
              placeholder="Confirm your password"
              name="confirmPassword"
              type="password"
              required
            />
          </mat-form-field>
        </div>
        <button mat-raised-button color="bg-dark" class="signup-button">
          Sign Up
        </button>
      </form>
    </mat-card-content>
  </mat-card>
</div>

app-routing.module.ts

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { SignupComponent } from './components/signup/signup.component';
import { LoginComponent } from './components/login/login.component';

const routes: Routes = [
  { path: 'login', component: LoginComponent },
  { path: 'signup', component: SignupComponent },
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
})
export class AppRoutingModule {}

app.component.html

<div>
  <mat-toolbar color="bg-light" class="navbar">
    <span class="navbar-brand">Stack Exchange</span>
    <span class="spacer"></span>
    <button routerLink="/login" routerLinkActive="active">Login</button>
    <button routerLink="/signup" routerLinkActive="active">sign up</button>
  </mat-toolbar>
</div>

app.module.ts

import { NgModule } from '@angular/core';
import {
  BrowserModule,
  provideClientHydration,
} from '@angular/platform-browser';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';

import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { LoginComponent } from './components/login/login.component';
import { SignupComponent } from './components/signup/signup.component';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatCardModule } from '@angular/material/card';
import { MatInputModule } from '@angular/material/input';
import { HttpClientModule } from '@angular/common/http';

@NgModule({
  declarations: [AppComponent, LoginComponent, SignupComponent],
  imports: [
    BrowserModule,
    AppRoutingModule,
    MatSlideToggleModule,
    MatToolbarModule,
    MatCardModule,
    MatInputModule,
    HttpClientModule,
  ],
  providers: [provideClientHydration(), provideAnimationsAsync()],
  bootstrap: [AppComponent],
})
export class AppModule {}

我想这可能是一些进口问题,所以你可能会发现一些进口是不必要的.它可能是关于路由或一些标签,我没有.

推荐答案

您的app.component.html似乎缺少router-outlet,这是用于渲染路由!

<div>
  <mat-toolbar color="bg-light" class="navbar">
    <span class="navbar-brand">Stack Exchange</span>
    <span class="spacer"></span>
    <button routerLink="/login" routerLinkActive="active">Login</button>
    <button routerLink="/signup" routerLinkActive="active">sign up</button>
  </mat-toolbar>
</div>
<router-outlet></router-outlet>

Html相关问答推荐

html列表顺序类型类似于子列表

如何在div中淡入和淡出渐变背景?

防止position:relative的child在出界时收缩

使用`<;use>;`与`<;img>;`时呈现的SVG大小不同

不呈现孙子元素,使用R htmlTools::Taglist为分页的pdf生成HTML

我如何确保我的网格永远不会小于它的子网格

可以通过悬停时的自定义区域更改文本属性吗?

这两个CSS中的网格居中对齐内部盒子有什么区别?

使用flex wrap时,如何设置另一个元素的宽度与换行后的元素对齐?

如何在 Flex 对齐内容框下显示隐藏按钮和文本

用于表行组标题的正确 HTML 标记是什么?

如何动态调整彼此重叠的两个 div 的大小,使它们在增长时保持相同的高度

获取 div 中每个元素的 href 并使用它

将表格标题和过滤器调整到表格的顶部边缘

如何使我的下拉菜单响应?

将 div 放在图片旁边而不是下方

font awesome 的 CDN/CSS 如何工作?

如何在 Tailwind CSS 中创建响应式网格布局?

两个按钮范围滑块的 CSS

我可以将两个元素之间的所有空间都放在弹性框或网格中吗?