EmberJS linkTo recurso anidado está re-renderizando la vista principal

Intento crear una interfaz simple con una lista de enlaces a la izquierda, recuperada de una llamada AJAX, que, al hacer clic, se abre en {{outlet}} a la derecha con algunos datos , recuperado también de otra llamada AJAX desde ese enlace. Entonces estas son mis rutas:

App.Router.map(function() {
    this.resource('about');
    this.resource('subreddit', { path: 'subreddit/:subreddit_name' }, function() {
    this.resource('comments', { path: 'comments/:id' })
    });
});

Así que tengo una lista dinámica de enlaces, basada en: subreddit_name con la siguiente estructura:

subreddit/:subreddit_name/comments/:id

Para crear los enlaces, tengo el siguiente bloque de código:

<script type="text/x-handlebars" id="subreddit">  
    <div>    
        {{#each item in model}}
            {{#linkTo 'comments' item.subreddit item.id classNames="list-group-item"}}
                
                {{item.author}}                    
            {{/linkTo}}
        {{/each}}
    </div>

    <div>{{outlet}}</div>
</script>

The link is properly corrected, but, after I've inserted the :subreddit_name dynamic route to the Router, when I click the link it re-renders the whole template, instead of re-rendering only the template for the comments:

<script type="text/x-handlebars" id="comments">
{{#each item in model}}
  <div class="panel panel-info mypanel">
    <div class="panel-heading">{{item.author}}</div>
    <div class="panel-body">
       
{{{item.body}}}

</div> </div> {{/each}} </script>

I'm still pretty green on EmberJS, that's why I would like to ask for some suggestion/commment on out to correct this.

Thanks in advance!

0
Funciona ... casi! La cuestión es que cuando hago clic en el enlace, recupero los comentarios correctos, pero la URL es: "index.html #/subreddit/undefined/comments/1t0gwe" donde "undefined" debería ser el nombre del subreddit
agregado el autor josetapadas, fuente
¡Muchas gracias chicos! ¡Me informaré sobre el gancho serializar! ¡Por favor, pónganlo como una respuesta, ya que fue realmente relevante! ¡Gracias!
agregado el autor josetapadas, fuente
Lo siento no funcionó: S O probablemente no lo estoy implementando bien. El problema todavía está en la etiqueta linkTo, mantiene la representación indefinida
agregado el autor josetapadas, fuente
edpaez pondrás tus comentarios en la respuesta, él necesita implementar el enlace de serialización para la ruta.
agregado el autor Kingpin2k, fuente
Intente pasar solo el modelo como un parámetro en el enlace-a helper, en lugar del modelo principal y el id. De esta manera: {{# linkTo 'comments' item}} en la plantilla subreddit
agregado el autor edpaez, fuente
El problema es que nadie dice el SubredditRoute modelo que se usará. Su ATM no definido, es por eso que cuando intenta serializarlo (para cambiar la url) muestra undefined . Lo que creo que debes hacer es tener una ruta que maneje y muestre todos los subreddits, luego uno que maneje un subreddit (que muestra enlaces a los comentarios) y luego el que corresponde al comentario. EDITAR Tengo mis dudas ... trate de utilizar su primer enfoque de para , pero eche un vistazo a este método:
agregado el autor edpaez, fuente

1 Respuestas

Aquí está el ejemplo de trabajo jsbin:

http://jsbin.com/OlOJEwAX/4/edit?html,js,output

He logrado que los enlaces funcionen, pero el indefinido también está allí renderizado: S

0
agregado
JavaScript - Comunidad española
JavaScript - Comunidad española
4 de los participantes

En este grupo hablamos de JavaScript. Partner: es.switch-case.com