2012-01-26 10 views
11

Vorrei aggiungere alcune funzionalità come "ArrayCollection" a un ko.observableArray();Estensione di array osservabile a eliminazione diretta

cioè removeItemAt (indice) // invia elemento rimosso evento addItem (item) // invia elemento aggiunto evento ecc

ho notato nella maggior parte degli esempi ko questo viene manipolato nel modello. Ho un modello abbastanza ricco con collezioni tipizzate, quindi vorrei farlo nidificare nella raccolta/matrice stessa.

Questo approccio è consigliabile con ko?

risposta

21

Estendere observableArrays è facile e una cosa perfettamente ragionevole da fare.

Il modo più semplice per eseguire questa operazione è aggiungere funzioni a ko.observableArray.fn. C'è ora un documentation page per questa tecnica.

Questo è un po 'diverso da quello che sono dopo, ma qui è una bella realizzazione di un dizionario in ko che potrebbe essere di vostro interesse: https://github.com/jamesfoster/knockout.observableDictionary

Problemi correlati