2013-04-30 5 views
3

Je suis en train de faire ce qui suit:ember.js comment rendre chaque sortie à l'intérieur

J'ai une liste dans une table

<table> 
{{#each controller}} 
    <tr> 
    <td> 
     {{#linkTo person this}}{{name}}{{/linkTo}} 
    </td> 
    </tr> 
{{/each}} 
</table> 

et je voudrais rendre les détails d'un élément juste après l'article lui-même. de cette façon:

<table> 
{{#each controller}} 
    <tr> 
    <td> 
     {{#linkTo person this}}{{name}}{{/linkTo}} 
    </td> 
    </tr> 
    <tr> 
    {{outlet}} 
    </tr> 
{{/each}} 
</table> 

Malheureusement, cela ne fonctionne pas. Ember veut que le point de vente soit placé à l'extérieur de chacun. Puis-je faire quelque chose? peut-être un changement de contexte? ou la seule chose que je peux faire est une manipulation dom? (Ce n'est pas le meilleur !!)

merci

+2

Je pense que vous essayez d'utiliser une prise de telle sorte qu'elle n'est pas supposée être utilisée. Êtes-vous sûr de ne pas vouloir utiliser un partiel? –

+0

Oui, je suis sûr, parce que je veux que ce soit un itinéraire différent. Cependant .. si ce n'est pas possible ... je ne le ferai pas;). Merci –

+1

Je vois votre cas d'utilisation. Il serait logique de pouvoir faire quelque chose comme vous voulez. Vous pourriez être en mesure d'utiliser des sorties de nom et obtenir le comportement prévu. Mais cela semble un peu comme un hack. –

Répondre

2

Vous ne pouvez pas utiliser l'aide {{outlet}} à l'intérieur d'une boucle {{each}}. Quelques alternatives:

//Basic view helper 
{{view App.Item}} 

<!-- Block view helper --> 
{{#view App.Item}} 
    <!-- template here --> 
{{/view}} 

<!-- just the template --> 
{{template item}} 

<!-- same as template but with leading _underscore --> 
{{partial item}} 
+0

Oui, '# view' fonctionne dans' # each'. Voir http://stackoverflow.com/questions/15922219/rendering-a-view-inside-each#answer-15922356 – captainpete

Questions connexes