Selecione o modelo de exibição por tipo de modelo / valor do objeto usando Ember.js

Gostaria de armazenar objetos diferentes na mesma matriz de conteúdo do controlador e renderizar cada um usando um modelo de visualização apropriado, mas idealmente a mesma visualizaçã

Estou exibindo objetos da lista usando o código abaixo. Atualmente, eles são idênticos, mas eu gostaria de poder usar outros diferente

<script type="text/x-handlebars">
  {{#each App.simpleRowController}}
    {{view App.SimpleRowView class="simple-row" contentBinding="this"}}
  {{/each}}
</script>

Uma versão reduzida da exibição está abaixo. As outras funções que não incluí podem ser usadas em qualquer um dos objetos, independentemente do modelo. Idealmente, eu teria uma visão (apesar de ter lido alguns artigos sobre mixins que poderiam ajudar, se não

<script>
  App.SimpleRowView = Em.View.extend({
    templateName: 'simple-row-preview',
  });
</script>

Meus primeiros testes para permitir diferentes tipos de objetos acabaram com muitas condições na 'visualização de linha simples' - parecia terrível!

Existe alguma maneira de controlar dinamicamente o templateName ou a exibição usada durante a iteração na minha matriz de conteúdo?

ATUALIZA

Muito obrigado aos dois entrevistados. O código final em uso na exibição está abaixo. Alguns dos meus modelos são semelhantes e eu gostei da ideia de poder alternar entre modelos (ou uma espécie de 'estado') no meu aplicativo.

<script>
  App.SimpleRowView = Em.View.extend({
    templateName: function() {
      return Em.getPath(this, 'content.template');
    }.property('content.template').cacheable(),
    _templateChanged: function() {
      this.rerender();
    }.observes('templateName'),
    // etc.
  });
</script>

questionAnswers(4)

yourAnswerToTheQuestion