特定の要素を複数回繰り返したいので、[1,2,3,4,5,6,7,8,9,10]
のようなハードコードされた配列の*ngFor
ディレクティブを使用しています。私は自分がしたいことを達成しました。角2 * ngForは、インラインテンプレートで一度に10個の要素を追加することのみをサポートします
コード
@Component({
selector: 'my-app',
template: `<h1>My First Angular App</h1>
<div *ngFor="let item of [1,2,3,4,5,6,7,8,9,10]">
{{item}}: My Element
</div>`
})
しかし、すぐに、私は10以上の配列のサイズを増加させたとして、私はエラーの下に取得を開始。それは本当に迷惑です。
[email protected]?main=browser:355 Unhandled Promise rejection: Unsupported number of argument for pure functions: 11 ; Zone: ; Task: Promise.then ; Value: Error: Unsupported number of argument for pure functions: 11(…) Error: Unsupported number of argument for pure functions: 11
テンプレート
<div *ngFor="let item of [1,2,3,4,5,6,7,8,9,10,11]">
{{item}}
</div>`
私はそのエラーができるだけ早く配列サイズが10以上に増加すると起こっている理由を知りたいんですか?しかし、もう一つ興味深いのは、同じ配列を変数items= [1,2,3,4,5,6,7,8,9,10,11]
内のコンポーネントに入れ、items
を*ngFor
で使用したところ、うまくいきました。
このような特殊なケースの背後には何らかの理由がありますか?シンプル/愚かなものがないと私を強奪してください。
こんにちは、私はこのタスクhttp://stackoverflow.com/a/41039141/3297613を達成するために苦労しそうです。ここにデモplunkr https://plnkr.co/edit/B5ucnBONC55WTR3VnFBr?p=previewがあります。私のアプリは共通のサービスを持っていますが、私はその共通のサービス上にオブザーバブルを作成する方法を知りませんし、他のすべてのサービスをその特定のオブザーバブルに登録するようにします。ユーザーが一度ログアウトすると、すべてのサービスデータを消去したいだけです。 –