我正在尝试将一个函数数据传递给一个孩子,但SO上的所有答案都是来自(alfa / beta)中的Angular2,我不知道我的问题是否来自事实已经发生变化发布。我已经尝试过关于SO的每一个答案,但它似乎没有摆脱我的错误,这是" this.bar不是一个函数"
现在我只想尝试使用函数传递一个简单的字符串:
父组件:
export class ParentComponent implements OnInit {
foo() {
return "This is a parent func stream value";
}
}
父HTML
<child [bar]="foo()"></child>
子组件
export class ChildComponent implements OnInit {
@Input() bar : Function;
ngOnInit() {
this.bar();
}
我没有看到问题,请帮我看看!
修改
&#34;功能&#34;上面的代码中的类型在我的编辑器中仍然是白色的,这让我感到困扰,但是只要我将代码粘贴到我的组件下面就像下面的示例一样,同样的&#34;功能&#34;变成蓝色,就像我的代码中的其他类型一样,所以我想弄清楚为什么这是......
子组件
export class ChildComponent implements OnInit {
@Input() bar : Function; //The word "Function" here is white when it should be blue
ngOnInit() {
this.bar();
}
}
@Input() bar: Function // This word "Function" is blue like it should be
functionResult: any;
ngOnInit() {
this.functionResult = this.bar();
}
答案 0 :(得分:2)
bar
真的不是一个功能。它计算函数调用的返回值。您的输入<child [bar]="foo"></child>
需要一个函数作为其类型。
你应该尝试像{{1}}
那样做 修改强>
见working plunker