2012-02-13 6 views
8

Tengo el siguiente código:¿Cómo puedo vincular los parámetros querystring usando Knockout.js?

<div data-bind="foreach: roomba"> 
    <h3 data-bind="text: name"></h3> 
    <a href="/arena/bots/status?id=1234">View Status</a> 
</div> 

Mi dilema es que me gustaría que el parámetro id en la etiqueta de anclaje que quedará vinculado a la identificación de la Roomba que actualmente se repiten a lo largo. ¿Cómo hago esto?

Respuesta

10

Intente definir la URL en el enlace de la vista. A continuación, enlazar a la URL en los datos-bind = "attr"

Tome un vistazo a este ejemplo:

<ul id="MemberSearch" data-inset="true" data-bind="foreach: members">  
<li> <a data-bind="attr: { href:Url},text:Name"></a></li> 
</ul> 

Luego, en su modelo

function Member(data) { 
      this.Name = ko.observable(data.FirstName + ' ' + data.LastName); 
      this.Url = ko.observable("/member/details/"+data.Id); 
     } 
4

¿Tal vez pueda usar la unión attr?

+1

Algo parecido a: View Status? –

+0

Sí, creo que algo así ... – matma

+0

No funciona. Tengo esto: Lo que obtengo en href es esto: http: // localhost/dosomething/function ... y luego una larga función comprimida js. –

5

Usted debe ser capaz de hacerlo tan

<a data-bind="attr: { href: '?id=' + $data.id}"></a> 

Trabajó para mi ejemplo de todos modos

Cuestiones relacionadas