Con Knockout 2.0 utilizzando questa scheda si legano:Eliminare i parametri 2.0 dal binding nell'ordine errato?
data-bind="click: $root.deleteSomeEntity.bind($data, $parent)"
nel Knockout ViewModel JavaScript il primo argomento in
self.deleteSomeEntity = function (data, parent) {
// perform deletion
}
sembra essere il genitore piuttosto che i dati.
C'è un motivo per questo comportamento o qualcosa che mi manca?
seguito i vostri suggerimenti: http://jsfiddle.net/6MmWs/5/ tuttavia quando facendo clic su Elimina e sulla funzione 'self.deleteContactPhone = (viewModel, telefono, contatto)' viewModel è un telefono, il telefono è un contatto e il contatto è anche un telefono. 'this' è attualmente il viewmodel. – kendaleiv
Lo vorrai più simile a http://jsfiddle.net/rniemeyer/6MmWs/6/. Un paio di cose da menzionare. 'remove' è una funzione disponibile su un ObservableArray. Ho commutato i tuoi array 'phones' affinché fossero osservabili, in modo da avere' remove' e gli aggiornamenti dell'interfaccia utente quando ne viene rimosso uno. –
L'altra cosa è che vuoi che la tua firma della funzione sia semplicemente 'funzione (telefono, contatto)'. Il primo parametro di 'bind' è il target, che viene utilizzato per controllare il valore di' this' quando la funzione viene eseguita. Quindi, non è in realtà un argomento per la funzione. –