首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular router-outlet是附加的而不是替换整个组件

Angular router-outlet是附加的而不是替换整个组件
EN

Stack Overflow用户
提问于 2020-03-13 19:58:27
回答 1查看 868关注 0票数 0

我正在尝试在Angular 9中的两个组件之间建立一条路由。

问题是,当我路由它时,它是附加的,而不是替换整个组件。

Main page

App-routing.module.ts

代码语言:javascript
复制
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { BookComponent } from './components/book/book.component';


const routes: Routes = [

  { path: 'autorBuscado', component:BookComponent,pathMatch:'full'}
];

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

有什么想法吗?如果你需要更多的代码,告诉我!

App.component.html

代码语言:javascript
复制
<router-outlet><h1>Autores</h1>
<div *ngFor='let autor of autores'>
  <tr>{{ autor["id"] }} {{ autor["firstName"] }} {{ autor["lastName"] }}</tr>
</div>

<form>
  <label for="autor">¿Que autor desea buscar?</label>
  <input name="autor" type="text" [(ngModel)]="autorBuscado">
  <input (click)="detalleAutor()" type="button" id="enviar" value="Buscar">
</form>

<h1>Libros</h1>
<div class="principal">
  <div *ngFor='let libro of libros'>
    <div class="libros">
      <img class="imagenLibro" src='assets/imagenes/{{libro.id}}.png' alt="aaaa">
      <p>Título: {{ libro["name"] }}</p>
    </div>
  </div>
</div>
</router-outlet>
EN

回答 1

Stack Overflow用户

发布于 2020-03-13 20:52:33

创建一个新的组件HomeComponent,其HTML内容如下

代码语言:javascript
复制
<h1>Autores</h1>
<div *ngFor='let autor of autores'>
  <tr>{{ autor["id"] }} {{ autor["firstName"] }} {{ autor["lastName"] }}</tr>
</div>

<form>
  <label for="autor">¿Que autor desea buscar?</label>
  <input name="autor" type="text" [(ngModel)]="autorBuscado">
  <input (click)="detalleAutor()" type="button" id="enviar" value="Buscar">
</form>

<h1>Libros</h1>
<div class="principal">
  <div *ngFor='let libro of libros'>
    <div class="libros">
      <img class="imagenLibro" src='assets/imagenes/{{libro.id}}.png' alt="aaaa">
      <p>Título: {{ libro["name"] }}</p>
    </div>
  </div>
</div>

将App.component.html更改为

代码语言:javascript
复制
<router-outlet></router-outlet>

将App-routing.module.ts更改为

代码语言:javascript
复制
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { BookComponent } from './components/book/book.component';


const routes: Routes = [
  { path: '', component:HomeComponent,pathMatch:'full'},
  { path: 'autorBuscado', component:BookComponent,pathMatch:'full'}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60670064

复制
相关文章

相似问题

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