我已经在我的Web应用程序中使用routerlinks添加了页面导航,由于某种原因,页面大部分时间只是重新加载,而在其他时间,页面运行非常随机。
我很沮丧,尤其是为什么它随机工作。任何见解都将是有帮助的。
相关代码:
app-routing.module.ts:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ProfileComponent } from './views/profile/profile.component';
import { PwSetupComponent } from './views/pw-setup/pw-setup.component';
import { ChangePwComponent } from './views/change-pw/change-pw.component';
import { EditProfileComponent } from './views/edit-profile/edit-profile.component';
const routes: Routes = [
{path: '', redirectTo: 'pwSetup', pathMatch: 'full'},
{path: 'pwSetup', component: PwSetupComponent},
{path: 'profile', component: ProfileComponent},
{path: 'changePw', component: ChangePwComponent},
{path: 'editProfile', component: EditProfileComponent}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
pw-setup.component.html:
<div style="padding-top: 10px;padding-left:10px; ">
<img src="./assets/img/og-favicon.png" width="50" height="50">
</div>
<div class="container-fluid outer-container" style="height:80%;min-height:550px;">
<div class="row middle-container">
<div class="col-s-12 container inner-container">
<p >Lets set up your password</p>
<form >
<div class="form-group">
<label for="username" class="label1">EMAIL ADDRESS</label>
<p>email@id.com</p>
</div>
<div class="form-group">
<label for="username" class="label1">TEAM NAME</label>
<p>name of team</p>
</div>
<div class="form-group">
<label for="password" class="label1">PASSWORD</label>
<input type="password" formControlName="password" class="form-control" />
</div>
<div class="form-group">
<label for="password" class="label1">CONFIRM PASSWORD</label>
<input type="password" formControlName="password" class="form-control" />
</div>
<label class="label2"><input id="rememberme" name="rememberme" value="remember" type="checkbox" /> Remember me</label>
<div class="form-group">
<button mat-flat-button class="blue-button">
<a [routerLink]="['/profile']" style="color: white; text-decoration: none;" >PROCEED</a>
</button>
</div>
</form>
<router-outlet></router-outlet>
</div>
</div>
</div>
app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { MatButtonModule, MatNativeDateModule, MatIconModule, MatSidenavModule, MatListModule, MatToolbarModule} from '@angular/material';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { SideNavComponent } from './components/side-nav/side-nav.component';
import { AvatarModule } from 'ngx-avatar';
import { HttpClientModule } from '@angular/common/http';
import { MatTableModule } from '@angular/material/table';
import { RightNavComponent } from './components/right-nav/right-nav.component';
import { HighchartsChartComponent } from 'highcharts-angular';
import { ProfileComponent } from './views/profile/profile.component';
import { PwSetupComponent } from './views/pw-setup/pw-setup.component';
import { ChangePwComponent } from './views/change-pw/change-pw.component';
import { EditProfileComponent } from './views/edit-profile/edit-profile.component';
@NgModule({
declarations: [
AppComponent,
SideNavComponent,
RightNavComponent,
HighchartsChartComponent,
ProfileComponent,
PwSetupComponent,
ChangePwComponent,
EditProfileComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
AppRoutingModule,
MatButtonModule,
MatNativeDateModule,
MatIconModule,
MatSidenavModule,
MatListModule,
MatToolbarModule,
AvatarModule,
HttpClientModule,
MatTableModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
也没有控制台错误。
答案 0 :(得分:1)
应用于routerLink
元素的a
指令在此元素上设置href
属性。
我猜想在单击时会抛出相同的异常,但是事件仍然冒泡,然后执行默认行为并更改了页面位置。由于这发生得非常快,因此您不会注意到该错误。
即使在页面重新刷新后也尝试保留控制台日志,该错误应该在那里。
如果错误仍然存在,请尝试将<a> tag
更改为<button> tag
并进行检查。