我在Angular应用程序中发现了一条奇怪的错误消息,我无法弄清楚发生了什么。
ERROR TypeError: factory is not a function
at resolveViewDefinition (eval at 17 (http://localhost:8080/vendor.js:214:1), <anonymous>:9160:17)
at createViewNodes (eval at 17 (http://localhost:8080/vendor.js:214:1), <anonymous>:12192:56)
at callViewAction (eval at 17 (http://localhost:8080/vendor.js:214:1), <anonymous>:12601:13)
我开始从应用程序中删除代码,我最终得到的东西非常简单,所以没有路由,没有app.component以外的组件,然后它变得更加奇怪。
如果我在app.component
中有这个@Component({
selector: 'my-app',
template: `
<div>
<div>{{ nav[0].name }}</div>
<div>{{ nav[1].name }}</div>
</div>
`
})
export class AppComponent {
nav = [
{
link: '/',
name: 'Home',
exact: true
},
{
link: '/two',
name: 'Two',
exact: true
}
];
}
然后它工作正常,但如果我有这个
@Component({
selector: 'my-app',
template: `
<div>
It works
<div>{{ nav[0].name }}</div>
<div>{{ nav[1].name }}</div>
<div *ngFor="let item of nav">
{{ item.name }}
</div>
</div>
`
})
export class AppComponent {
nav = [
{
link: '/',
name: 'Home',
exact: true
},
{
link: '/two',
name: 'Two',
exact: true
}
];
}
然后我从上面得到错误。所以它只是添加* ngFor,一切都分崩离析。
在我的模块中,我有这个
@NgModule({
imports: [
BrowserModule,
CommonModule
],
declarations: [
AppComponent,
HomeComponent,
TwoComponent
]
bootstrap: [
AppComponent
]
})
export class AppModule { }
所以,我不再使用路由了,我正在导入CommonModule,我在这里缺少什么?
感谢。