2013-09-01 3 views
5

Можно ли использовать ng-view без записи routeProvider, т.е. путем включения маршрутов в части разметки (я понимаю, что логика смешения и представление не являются лучшим дизайном, но, вероятно, приемлемы в этой ситуации, поскольку это действительно условный шаблон). Мой провайдер маршрут жестко закодированы шаблоны для угловых директив:ngView без routeProvider?

spaceJam.config(function($routeProvider, $locationProvider) { 
    $routeProvider. 
     when('/images', { 
      template: '<ng-my-image-editor></ng-my-image-editor>' 
      }). 
     when('/videos', { 
      template: '<ng-my-video-editor></ng-my-video-editor>' 
      }). 
     when('/calendar', { 
      template: '<ng-my-calendar-editor></ng-my-calendar-editor>' 
      }). 
     otherwise({redirectTo: '/images'}) ; 

    $locationProvider.html5Mode(false); 

}); 

вместо этого что-то вроде этого:

<ng-view> 
    <ng-view-selection when="/images" default><ng-my-image-editor></ng-my-image-editor></ng-view-selection> 
    <ng-view-selection when="/videos"><ng-my-video-editor></ng-my-video-editor></ng-view-selection> 
    <ng-view-selection when="/calendar"><ng-my-calendar-editor></ng-my-calendar-editor></ng-view-selection> 
<ng-view> 

есть другой подход к этому ?.

+7

Может 'нг-include' будет полезна для Вас: http://docs.angularjs.org/api/ng.directive:ngInclude – karaxuna

ответ

2

Если вам не нужен контроллер, ng-include - лучшая вещь для вас.

Также я бы порекомендовал взглянуть на $ state/$ stateProvider углового ui-router и то, что, на мой взгляд, намного лучше подходит для маршрутизации, чем стандартный $ routeProvider.

http://docs.angularjs.org/api/ng.directive:ngInclude

https://github.com/angular-ui/ui-router/wiki

Смежные вопросы