gpt4 book ai didi

angular - router.navigate 不导航到定义的路径 html

转载 作者:行者123 更新时间:2023-12-04 16:03:48 24 4
gpt4 key购买 nike

我是 Angular 的新手。创建从一个组件到另一个组件的简单导航。使用 router.navigate 方法进行导航。

当单击按钮时,url 会发生变化,但不会显示该特定组件的 html 页面。

this.router.navigate(['login']);

应用程序模块.ts

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

import { AppComponent } from './app.component';
import { LoginComponent } from './Components/ProfileComponents/login/login.component';
import { Routes, RouterModule } from '@angular/router';
import { TestrouteComponent } from './testroute/testroute.component';


const appRoutes: Routes = [
{ path: 'login', component: TestrouteComponent }
];
@NgModule({
declarations: [
AppComponent,
LoginComponent,
TestrouteComponent
],
imports: [
BrowserModule,
RouterModule.forRoot(appRoutes, { enableTracing: true })
],
exports: [RouterModule],
providers: [
],
bootstrap: [AppComponent]
})
export class AppModule { }

应用程序组件.ts

import { Component } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private router: Router, private _activateRoute: ActivatedRoute) {}
title = 'app';
testRouting() {
this.router.navigate(['login']);
}
}

app.component.html

<div style="text-align:center">
<h1>
Welcome
</h1>
</div>
<h2>Here are some links to help you start: </h2>
<button (click)="testRouting()">test</button>

testroute.component.html

<p>
testroute works!
</p>

测试路由.component.ts

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

@Component({
selector: 'app-testroute',
templateUrl: './testroute.component.html',
styleUrls: ['./testroute.component.css']
})
export class TestrouteComponent implements OnInit {

constructor() { }

ngOnInit() {
}

}

纯代码只是想检查 router.navigate 功能。不确定我到底错过了什么。

最佳答案

我想你忘了添加你的 <router-outlet></router-outlet>在你的里面 app.component.html文件。

当 url 匹配给定路由时,它将添加在您的路由器模块中定义的组件。因此,在您的情况下,它将添加 TestrouteComponent .

例如在你的 app.component.html 中

<div style="text-align:center">
<h1>
Welcome
</h1>
</div>
<h2>Here are some links to help you start: </h2>
<button (click)="testRouting()">test</button>
<router-outlet></router-outlet>

请注意,您的 h1、h2、按钮元素仍然可见,即使当 html 设置成这样时路由发生变化。

关于angular - router.navigate 不导航到定义的路径 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49664674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com