¿Cómo pasar los datos (elemento seleccionado) a la vista de detalle compuesta de Durandal?

He empezado a usar (a partir de hace unas horas)Durandal con la esperanza de administrar las vistas y permitir la composición en una sola página, el enfoque anterior, que también utiliza Knockout, se estaba volviendo demasiado difícil de mantener en un archivo HTML grueso.

He instalado / configurado Durandal y puedo crear vistas y modelos de vista. Sin embargo, no sé cómo obtener datos.dentro el modelo de vista para utilizar comobase para el nuevo viewmodel.

Por ejemplo, tengo una "barra de navegación izquierda" para seleccionar elementos: cuando se selecciona un elemento, se actualiza un "elemento seleccionado" observable en el modelo actual, pero deberíaademás cargue la "vista detallada" correcta a la derecha: debido a que parte de la razón para intentar que Durandal separe los componentes / vistas, esto debe provenir de una vista / modelo de vista diferente.

He leído la documentación incluidaComposición yUsando composicion, pero el método paracómo Pasar datos al modelo de vista no está claro para mí. Parece que podría usar una vista con un modelo existente (en la vista / alcance actual), pero realmente me gustaría usar simplemente algunos de los datos del modelo actual (es decir, una identificación) para obtener los datos del modelo "real" en la vista.

Así, mis preguntas;

¿Cómo se transfiere la información inicial, como el "elemento seleccionado" a un modelo de vista? Preferiría usar el enlace declarativo "componer:", ya que eso es lo que hace KO ... KO.

¿Es esta noción de tener / pasar datos iniciales de la manera correcta aquí, o hay una mejor alternativa? He visto "activeItem" vagamente mencionado, pero los detalles / uso me alude.

Actualización 1: he encontrado¿Cómo compartimos los datos entre vistas / Pasamos la vista de datos para ver, pero las respuestas faltan en la implementación real. Realmente me gustaría no compartir el modelo de vista entre padre-hijo (pares de vista / modelo de vista distintos) y me gustaría usar un enfoque declarativo (sin eventos). El padre no necesita saber sobre el niño, pero el niño debe recibir información del padre.

Actualización 2: Mientras que arriba, insinué que solo se requería el "id", me gustaría un enfoque que funcione conalguna Objeto base, para el cual el enrutador no es necesariamente adecuado. La vinculación profunda no es una preocupación en este caso. Sin embargo, si sientes que el router estála manera para abordar esto, publique un argumento para tal (con detalles) como una respuesta y al menos le daré un voto positivo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta