错误提示->
src / app / app-routing.module.ts(29,14)中的ERROR:错误TS2322:键入'{ 路径:字符串;组件:字符串; } []'无法分配给类型 '路线[]'。输入'{path:string;组件:字符串; }' 不是 可分配给“路线”类型。 属性“组件”的类型不兼容。 不能将“字符串”类型分配给“类型”。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Routes } from '@angular/router';
import { SliderComponent } from './slider/slider.component';
import { SignupFormComponent } from './signup-form/signup-form.component';
@NgModule({
imports: [
CommonModule
],
declarations: []
})
export class AppRoutingModule { }
export const routes: Routes = [
{path : 'ImgSlider' , component: 'SliderComponent'},
{path : 'signup' , component: 'SignupFormComponent'},
];
答案 0 :(得分:4)
该错误告诉您路线的参数有误,因为它应该是这样
export const routes: Routes = [
{path : 'ImgSlider' , component: SliderComponent},
{path : 'signup' , component: SignupFormComponent},
];
这意味着组件名称不应写为字符串。
答案 1 :(得分:0)
请逐步参考此步骤。
https://angular.io/tutorial/toh-pt5
绝对可以。
import { HeroesComponent } from './heroes/heroes.component';
const routes: Routes = [
{ path: 'heroes', component: HeroesComponent } //here you have marked it as string it should be refer to component name
];
一步一步到@ NgModule.imports数组并使用路由配置它 调用RouterModule.forRoot()
imports: [ RouterModule.forRoot(routes) ],
答案 2 :(得分:0)
删除组件上的单引号 例如:
{path : 'ImgSlider' , component: SliderComponent},
答案 3 :(得分:0)
首先将RouterModule导入为:
import { RouterModule } from '@angular/router';
然后将其添加到@ NgModule.imports数组中,并通过调用RouterModule.forRoot()用路由对其进行配置
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
并按照我在下面提到的方式删除组件上的单引号:
const routes: Routes = [
{path: 'ImgSlider', component: SliderComponent}
];
对我有用。
答案 4 :(得分:0)
{path : 'ImgSlider' , component: 'SliderComponent'},
{path : 'signup' , component: 'SignupFormComponent'},
这是您的代码标签。
根据角度文档,在路由文件的组件中不使用单引号。并且您在注册路径的末尾添加了逗号。如果在注册路径之后声明了其他路径,则以其他方式使用逗号会引发异常。这是正确的方法
{path : 'ImgSlider' , component: SliderComponent},
{path : 'signup' , component: SignupFormComponent}