2016-01-15 8 views
0

У меня есть приложение angularjs, в котором есть app.js (основной файл js, где запускается приложение), файл index.html, который похож на главную страницу (применяется ко всем страницам приложения). Этот index.html находится в корневом каталоге моего проекта/приложения.Страницы с несколькими макетами AngularJS

Я хочу добавить 2-3 новых страницы в приложение с новой страницей мастера/макета (а не index.html). Я хочу создать index2.html, который будет применяться к определенным страницам и index3.html, который будет применяться к определенным страницам.

Все 3 макета index.html, index2.html и index3.html полностью независимы/отличаются друг от друга.

Я пробовал все, но новые страницы всегда используют index.html как макет по умолчанию.

ответ

0

Я думаю, что вы ищете, это Угловой UI-маршрутизатор. Проверьте это здесь: https://github.com/angular-ui/ui-router

Вам нужно настроить свой index.html как «домашний», с вложенными представлениями для других файлов индекса.

Проверьте документацию для деталей, но в основном вы будете создавать свой файл index.html:

... 
<body ng-app="app"> 
    <ui-view></ui-view> 
</body> 

и затем в вашем app.js:

angular.module('app', [ui.router]) 
    .config(function($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.otherwise("/"); 

    $stateProvider 
     .state('home', { 
     url: "/", 
     templateUrl: "partials/index.html" 
     }) 
     .state('index2View', { 
     url: "/index2", 
     templateUrl: "partials/index2.html" 
     }); 
     ... add more states for your views here ... 
    }); 

Вы могли бы хотеть смотреть в абстрактные состояния, но я не уверен, каковы ваши конкретные требования от вопроса.

+0

Спасибо за отзывы. Я видел этот код раньше, но мое требование немного отличается. Здесь представление добавляется в тег body, что означает, что и будут одинаковыми для всех состояний. Я хочу, чтобы весь разный формат с был совершенно другим. –

+0

А я вижу. Это звучит сложно (возможно, невозможно?), Чтобы снять клиентскую сторону. Я думаю, вам придется использовать перенаправление на стороне сервера для этого. –

0

вы можете использовать несколько приложений для нескольких представлений ng-app="what ever your app here" после этого просто добавить мнение в определенных

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

  • Нет связанных вопросов^_^