Con Knockout 2.0 utilizando estos datos, se unen:Los parámetros de Knockout 2.0 se unen en un orden incorrecto?
data-bind="click: $root.deleteSomeEntity.bind($data, $parent)"
en el modelo de vista Knockout JavaScript primer argumento en
self.deleteSomeEntity = function (data, parent) {
// perform deletion
}
parece ser la raíz en vez de los datos.
¿Hay alguna razón para este comportamiento o algo que me falta?
Siguiendo sus sugerencias: http://jsfiddle.net/6MmWs/5/ sin embargo cuando al hacer clic en Eliminar y en la función 'self.deleteContactPhone = (viewModel, phone, contact)' viewModel es un teléfono, el teléfono es un contacto y el contacto también es un teléfono. 'this' es actualmente el modelo de vista. – kendaleiv
Lo querrías más como: http://jsfiddle.net/rniemeyer/6MmWs/6/. Un par de cosas para mencionar. 'remove' es una función disponible en un array observable. Cambié tus arreglos de 'teléfonos' para que sean observables, de modo que tienes' remove' y tus actualizaciones de UI cuando se elimina uno. –
La otra cosa es que quiere que la firma de su función sea 'función (teléfono, contacto)'. El primer parámetro para 'bind' es el objetivo, que se usa para controlar el valor de' this' cuando se ejecuta su función. Entonces, no es realmente un argumento para la función. –