私が持っている:なぜngForの中でメンバー関数を呼び出せないのですか?
export class Foo {
id: number;
name: string;
public formatName() : string {
return this.name;
}
}
、テンプレートで:
<ul>
<li *ngFor="let foo of allFoos">
<strong>{{foo.formatName()}}</strong>
</li>
</ul>
これが動作しないのはなぜ?私はちょうど私が親コンポーネントにformatName()
機能を移動することでこの問題を回避し、代わりにthis
を使用しての引数としてfoo
を与えることができますnode_modules/@angular/core/bundles/core.umd.js:3076 TypeError: self.context.$implicit.formatName is not a function
を取得しますが、それは私が欲しいものではありません。
<ul>
<li *ngFor="let foo of allFoos">
<strong>{{formatName(foo)}}</strong>
</li>
</ul>
はアクセス例えばループ内に直接foo.nameもうまく動作します:
<ul>
<li *ngFor="let foo of allFoos">
<strong>{{foo.name}}</strong>
</li>
</ul>
明らかに私の意図は、私の例でははるかに複雑formatName()
1以上を持つことです。
あなたはPlunkerを提供することはできますか?コードのどの部分がどのコンポーネントであり、どのように関連しているのかを判断するのはかなり面倒です。 –
また、オンサイトのStack Snippet([<]]ツールバーボタン)を使用することをお勧めします。 –
ここでallFoosが定義されています。このテンプレートがFooコンポーネントに対応する場合、Fooには** private allFoos:Foo []; ** – kimy82