Chciałem powtórzyć dany element kilka razy, więc używam dyrektywy *ngFor
z zakodowanymi tablicami, takimi jak [1,2,3,4,5,6,7,8,9,10]
, a to zadziałało świetnie. Osiągnąłem to, co chciałem.Angular 2 * ngFor obsługuje tylko dodawanie 10 elementów naraz w szablonie liniowym
Kod
@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>`
})
Ale jak tylko zwiększył rozmiar tablicy więcej niż 10, to zaczną się poniżej błędu. Co jest naprawdę denerwujące.
[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
Szablon
<div *ngFor="let item of [1,2,3,4,5,6,7,8,9,10,11]">
{{item}}
</div>`
Jestem ciekaw, dlaczego tak się dzieje błąd jak najszybciej tablicy wzrostem wielkości więcej niż 10? Kolejną interesującą rzeczą jest umieszczenie tej samej tablicy w komponencie wewnątrz zmiennej items= [1,2,3,4,5,6,7,8,9,10,11]
i użycie items
w *ngFor
i to zadziałało.
Czy istnieje jakiś powód takiego specjalnego przypadku? Oprzyj mnie, jeśli przegapię coś prostego/głupiego.
Cześć, jestem coraz ciężko, aby osiągnąć to zadanie http://stackoverflow.com/a/41039141/3297613. Oto demo plunkr https://plnkr.co/edit/B5ucnBONC55WTR3VnFBr?p=preview. Moja aplikacja ma wspólną usługę, ale nie wiem, jak utworzyć obserwowalną w tej wspólnej usłudze i sprawić, aby wszystkie inne usługi subskrybowały tę konkretną obserwowalną. Chcę wyczyścić wszystkie dane usługi po wylogowaniu użytkownika. –