¿Cómo hacer un control de interruptor de palanca de vista de lista y cuadrícula que se carga en parciales en AngularJS?

Soy nuevo en AngularJS y no he podido encontrar tutoriales específicos de unbotones de interruptor de alternar vista de lista y cuadrícula que se carga en dos parciales HTML diferentes. Leer oficialng-include, ng-switch documentos oficiales y buscado SO. Desafortunadamente, no queremos usarEnrutador UI.

Se está cargando en dos parciales (list.html ygrid.html) la forma angular correcta de codificar esto?

La ayuda más relevante que he encontrado son estas:

1)http://tutorialzine.com/2013/08/learn-angularjs-5-examples (Ejemplo # 5)

Hubo un comentario perspicaz en el Ejemplo # 5

Buenos ejemplos simples, bien hecho. El último ejemplo que cambia entre las vistas de cuadrícula y lista no es muy eficiente ya que crea ambas opciones y la muestra / oculta una. Un enfoque más simple / mejor sería usar un único ul con repetidor y ng-switch y luego habilitar los elementos de lista alternativos usando ng-switch-case. - Johan

2)http://www.adobe.com/devnet/html5/articles/getting-started-with-angularjs.html

3)crear una sola vista html para múltiples vistas parciales en angularjs

4)Ng-include condicional en angularjs

Mi código HTML

 <div class="col-xs-6" ng-controller="ToggleDisplayCtrl">
    <div class="btn-group select-format-container" ng-switch on="selected">
      <button ng-switch-when="true" ng-click="toggleGrid()" type="button" class="btn btn-primary" ng-model="formatChoice" ng-disabled="">grid</button>
      <button ng-switch-when="false" ng-click="toggleList()" type="button" class="btn btn-primary" ng-model="formatChoice" ng-disabled="">list</button>
    </div>

    <div ng-include src="formatChoice.url" scope="" onload=""></div>

  </div><!-- col-xs-6  END ToggleDisplayCtrl-->

Mi codigo directivo

'use strict';

 var app = angular.module('tempApp');

 app.controller('ToggleDisplayCtrl', function($scope) {
  $scope.formatChoices =
  [ { name: 'grid', url: 'partials/grid.html'},
    { name: 'list', url: 'partials/list.html'} ];

$scope.selected = true;
$scope.toggleGrid = function() {
  if(selected) {
    return "partials/grid.html";
  }
  return "main.html";
};
$scope.toggleList = function() {
  if(selected) {
    return "partials/list.html";
  }
  return "main.html";

};
});

Respuestas a la pregunta(5)

Su respuesta a la pregunta