Me gustaría mostrar un editable lista de elementos, cada elemento de los que se puede editar (como una especie de grid editable, de una manera). Estoy usando KnockoutJS. No puedo utilizar un simple Observables de la Matriz, ya que los estados de documentación «Un observableArray pistas en las que los objetos están en la matriz, no el estado de los objetos»

Así, he creado una observableArray de objetos observables (utilizando utils.arrayMap), y salta a la vista. Sin embargo, el problema es que si puedo editar los datos en la pantalla de entrada de datos los cambios que hace el usuario en la pantalla no parecen tener efecto. Ver http://jsfiddle.net/AndyThomas/E7xPM/

¿Qué estoy haciendo mal?

InformationsquelleAutor Andy Thomas | 2012-04-06

3 Comentarios

  1. 19

    ko.utils.arrayMap no mapa de su viewmodel propiedades del observables, y por eso no los ves se actualiza dinámicamente.

    Si define su CategoryId como un observable, verás que se actualiza de la forma esperada:

    Ver esta actualizado jsfiddle: http://jsfiddle.net/tuando/E7xPM/5/

    • perfecto thanksssss!
  2. 16

    Para el seguimiento de Tuan respuesta, necesitaba llenar mis objetos basado en datos obtenidos a partir de un método de servidor de un ASP.Net controlador MVC, donde la lista de Productos está contenida en la vista del Modelo, y la lista de categorías para el cuadro de lista desplegable en el ViewBag. He utilizado el siguiente código (ver también http://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html):

    Gracias, Tuan!

  3. 1

    Estoy usando escritura calculada observables que se inicializan en la llamada a ko.utils.arrayMap

    Puede ser una exageración en su caso, pero podría ayudar a alguien más. Ver este
    jsFiddle de la muestra

Dejar respuesta

Please enter your comment!
Please enter your name here