Si vous souhaitez afficher plusieurs modèles simultanément, il semble que le point de routage vers un seul modèle qui change ne correspond pas bien à ce que vous essayez de faire. Le routeur n'a pas été conçu pour ajouter des vues supplémentaires à un affichage sauf si vous utilisez des routes imbriquées. Vous pouvez essayer de remplacer le renderTemplate
hook de votre itinéraire et utiliser render()
pour spécifier le contrôleur utilisé, mais cela ne vous aide pas lorsque plusieurs paires contrôleur/vue sont affichées simultanément. Au lieu de cela, j'essaierais d'utiliser l'une des façons de spécifier un contrôleur personnalisé. Lorsque vous avez une collection de choses à afficher, la manière la plus simple est avec le #each
helper dans votre modèle.
{{#each product in products itemController='myControllerName'}}
Si vous souhaitez spécifier une classe de vue personnalisée, vous pouvez également le faire.
{{#each product in products itemController='myControllerName' itemViewClass='App.MyView'}}
Selon ce que vous essayez de faire, une approche alternative pour obtenir un contexte qui obtient une nouvelle instance à chaque fois est en créant un composant . C'est plus lourd, cependant, et vous devrez probablement refactoriser une partie de votre code, en déplaçant la logique du contrôleur dans le composant.
à quoi ressemble votre modèle? Etes-vous également conscient de l'existence de l'option 'itemController' pour un assistant' {{#each}} 'ou un' ArrayController'? – intuitivepixel
Je suis simplement en train d'essayer un prototype afin que je puisse toujours façonner le modèle comme je le souhaite. J'ai commencé avec un violon (http://jsfiddle.net/6WV2U/1/) mais je suis resté bloqué sur ce problème. – Rengers