2014-11-20 3 views
2

У меня есть следующая проблема:Как динамически создавать страницы в угловом JS

Я объект, он представляющий список «страниц» и «квеста» Whithin их

<div ng-repeat='page in pages' ng-show='page.show'> 
     .... 
    </div> 

Теперь, когда я их создаю, я сделал ng-show, например, на странице 1, а затем, когда пользователь нажимает следующую кнопку, ng-show показывает следующую страницу.

Это было «хорошо» до сих пор, но теперь мне нужно что-то вроде этого:

Мне нужно эти страницы, чтобы быть маршруты .. как если мой сайт www.mysite.com/pages/

чем страница первая будет представлена ​​таким образом www.mysite.com/pages/#1

и причина в том, что когда пользователь нажимает «назад», я хочу использовать history.js, чтобы позволить пользователю вернуться туда, где он пришел от ...

Как я должен справиться с этим? где я должен начать?

ответ

3

Его довольно интересно создавать динамические страницы и сохранять стек маршрутизации. Поэтому вы должны изучить этот вопрос ngDynamicRouting. Это упрощает ваш код, например, вам не нужно настраивать новые маршруты для новых страниц. Здесь мы идем ..

Config
Сначала вы должны указать общий маршрут

$routeProvider.when('pages/:pageNumber', { templateUrl: 'partials/blank.html', controller: PagesController }); 

Контроллер

function PagesController($scope, $http, $route, $routeParams, $compile) { 
    // Here I am assuming you are having list of pages in pages array. 
    //make sure you validate the pageNumber some where. 
    $route.currentPage = $scope.pages[$routeParams.pageNumber]; 
} 
PagesController.$inject = ['$scope', '$http', '$route', '$routeParams', '$compile']; 

index.html

<div ng-show="currentPage"> 

Дайте мне знать, если проблема не решена. если не пытаться предоставить мне плункер или скрипку.

С благодарностью

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