该错误通常出现在Angular应用程序路由模块中,表示redirectToLogin在AppRoutingModule中未被定义为一个函数。为解决此错误,可以检查是否正确导入了AppRoutingModule,并确保redirectToLogin是一个函数。
例如,在AppRoutingModule中定义redirectToLogin函数:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { HomeComponent } from './home/home.component';
const routes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: '', component: HomeComponent, pathMatch: 'full' },
{ path: '**', redirectTo: '' }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
redirectToLogin() {
// 处理登录重定向逻辑
}
}
然后,可以在组件中使用这个函数:
import { Component } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private router: AppRoutingModule) {}
goToLoginPage() {
this.router.redirectToLogin();
}
}