我在Angular2中编写了以下代码:
添加-item.component.ts
@Component({
selector: 'add-item',
template: `<form-item [title]="abcde"></form-item>`,
})
export class AddItemComponent {
forms: Object[]
constructor() {
this.forms = [{title: 'a', link: 'b'}];
}
}
形状item.component.ts
@Component({
selector: 'form-item',
template: `<h3>{{title}}</h3>`,
inputs: ['title'],
styles: [`
h3 {
color: blue;
}
`]
})
export class FormItemComponent{
@Input()
title: string;
constructor(title: string) {
this.title = title;
}
}
当我运行此代码时出现错误:
错误:./AddItemComponent类AddItemComponent中的错误 - 内联 模板:8:0引起:没有String的提供者!
我做了一个小研究,我不明白是什么问题。我也看了一下: Angular2 EXCEPTION No provider for String
你能帮帮我吗?答案 0 :(得分:2)
您需要从构造函数中删除title: string
和初始化。 Angular的构造函数期望提供者作为参数。
答案 1 :(得分:1)
FormItemComponent类应该是:
export class FormItemComponent{
@Input() title: string = "";
}
&#39;标题&#39;不得在构造函数内初始化。