Hoi,
Ik heb een vraag of ik onderstaande wel juist doe. Ik heb het zo simpel mogelijk opgezet.
Doel:
Een lijst van producten. En bij selectie wil ik gegevens tonen van het gekozen product.
Daarnaast heb ik een lijst met filters. Elk product heeft een aantal filters waar het bij hoort. Deze moeten aangevinkt worden bij selectie.
Nu is het met mijn methode zo dat bij elke wisseling van productkeuze de activeFilters functie zovaak wordt uitgevoerd als er filter-checkboxen zijn.
Is dit normaal? Ik snap dat dat komt omdat ik gebruik maak in die functie van de observable activeProduct. Dus als die wijzigt wordt die functie getriggerd. Dat is logisch. Maar ik vraag me af of dat niet heel zwaar wordt als ik straks 100 filters heb aangezien hij onder de motorkap per checkbox in het array moet zoeken of zijn id erin voor komt (denk ik).
Zonder KnockoutJS zou ik bij wijziging namelijk alle checkboxen unchecken en enkel de gekozen filters aanchecken. Verschil is dan dat je zovaak door de DOM moet, en met knockout zovaak door het array..
De reden dat de functie activeFilters niet een computed is, is omdat ik de parameters nodig heb. $data (en $parent in het echte geval)
http://jsfiddle.net/hnyft38d/3/
Ik heb een vraag of ik onderstaande wel juist doe. Ik heb het zo simpel mogelijk opgezet.
Doel:
Een lijst van producten. En bij selectie wil ik gegevens tonen van het gekozen product.
Daarnaast heb ik een lijst met filters. Elk product heeft een aantal filters waar het bij hoort. Deze moeten aangevinkt worden bij selectie.
Nu is het met mijn methode zo dat bij elke wisseling van productkeuze de activeFilters functie zovaak wordt uitgevoerd als er filter-checkboxen zijn.
Is dit normaal? Ik snap dat dat komt omdat ik gebruik maak in die functie van de observable activeProduct. Dus als die wijzigt wordt die functie getriggerd. Dat is logisch. Maar ik vraag me af of dat niet heel zwaar wordt als ik straks 100 filters heb aangezien hij onder de motorkap per checkbox in het array moet zoeken of zijn id erin voor komt (denk ik).
Zonder KnockoutJS zou ik bij wijziging namelijk alle checkboxen unchecken en enkel de gekozen filters aanchecken. Verschil is dan dat je zovaak door de DOM moet, en met knockout zovaak door het array..
De reden dat de functie activeFilters niet een computed is, is omdat ik de parameters nodig heb. $data (en $parent in het echte geval)
http://jsfiddle.net/hnyft38d/3/
[ Voor 21% gewijzigd door Guillome op 12-08-2014 11:21 ]
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router