我对棱角有问题。当我点击一个链接,浏览器重新加载站点(角通常只加载组件,这是连接的路径)。我要做什么?
Page1和Page2是默认组件。
app.module.ts:
import {RouterModule, Routes} from '@angular/router';
import { Page1Component } from './page1/page1.component';
import { Page2Component } from './page2/page2.component';
const routes: Routes = [
{ path: 'page1', component: Page1Component },
{ path: 'page2', component: Page2Component }
];
@NgModule({
declarations: [
AppComponent,
Page1Component,
Page2Component
],
imports: [
BrowserModule,
RouterModule.forRoot(routes)
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { } app.component.ts:
<router-outlet></router-outlet>
<a href="/page1">Page1</a>
<a href="/page2">Page2</a>发布于 2018-09-15 11:48:49
单页应用程序背后的想法是,在获取初始的.html页面之后,浏览器永远不会触发对另一个index.html页面的请求。前端导航,启用角的@angular/router只模仿“页面”。
当您打开一个新的角度“页面”时,将执行JavaScript,它从DOM中删除当前可见的元素,并用新元素替换它们,这些元素形成一个不同的屏幕--我们称之为“页面”。
使用锚元素上的href (<a>),可以告诉浏览器从服务器上获取另一个页面。相反,您应该告诉角替换DOM元素,以形成一个新的屏幕。您可以通过使用routerLink指令来完成这一任务,这在RouterModule中是可用的。
<a routerLink="/page1">Go to page 1</a>我建议阅读“英雄之旅”教程,可在angular.io,官方的角度网站。它还包括路由。路由也是盖在这里。
发布于 2018-09-15 11:43:40
使用href将在anchor标记上执行anchor重定向,重定向也会发生在相同的位置上(因为被认为是target='_self' on anchor)。
使用角路由器API提供的routerLink指令,这有助于在SPA页面之间导航。
<a routerLink="/page1">Page1</a>
<a routerLink="/page2">Page2</a>发布于 2018-09-15 16:33:58
href代表超引用,用于在多页应用程序的多个页面之间切换。由于角应用程序大多是SPA's (Single Page Applications),所以routerLink是一个在页面中加载组件的角指令。只使用routerLink刷新页面上的组件,而不是完全刷新页面。因此,您应该使用routerLink来防止页面刷新。以下是您的app.component.ts的内容:
<router-outlet></router-outlet>
<a routerLink="/page1">Page1</a>
<a routerLink="/page2">Page2</a>https://stackoverflow.com/questions/52344374
复制相似问题