Как открыть запись по уникальному ID
Добрый день!
Подскажите, как при нажатии на определенный материал в общем списке открывать подробное его описание? У меня есть контроллер, который отображает список записей с пагинацией: // List of all items in NEWS var newsItems = angular.module('myApp'); // Custom Tmpl for pagination newsItems.config(function(paginationTemplateProvider) { paginationTemplateProvider.setPath('js/dirPagination.tpl.html'); }); // Magic of pagination newsItems.controller('newsItems', function($scope, $http) { $scope.users = []; $scope.totalPages = 0; $scope.postsPerPage = 10; getResultsPage(1); $scope.pagination = { current: 1 }; $scope.pageChanged = function(newPage) { getResultsPage(newPage); }; function getResultsPage(pageNumber) { $http.get('js/news.php?page=' + pageNumber) .then(function(result) { $scope.news = result.data.records; $scope.totalPages = result.data.count; }); } }) вот view для этого контроллера: <div ng-controller="newsItems"> <ul class="list"> <li class="list-group-item" dir-paginate="post in news | itemsPerPage: 10" total-items="totalPages" current-page="pagination.current"> <a onclick="app.slidingMenu.setMainPage('news/news-single.html')" class="list-group-item"> <img ng-src='{{post.name}}' class="img-rounded col-md-1" alt=""> <h4 class="list-group-item-heading">{{post.name1}}</h4> <p class="list-group-item-text"> {{post.anons1}}</p><div class="clearfix"></div> </a> </li> </ul> <div class="center pagination"> <dir-pagination-controls max-size="3" on-page-change="pageChanged(newPageNumber)"></dir-pagination-controls> </div> </div> Есть также контроллер и view для отдельной записи: // Single View of one News Post var itemNewsSingle = angular.module('myApp'); itemNewsSingle.controller('itemNewsSingle', function($scope, $http) { $http.get('js/singlen.php?postid=').success(function(data) { $scope.posts = data.records; }); }); Здесь я хотел подставлять id поста. Что-то вроде 'js/singlen.php?postid=' + postId <div ng-controller="itemNewsSingle"> <div class="bs-callout bs-callout-info"> <div class="list-group-item" ng-repeat="post in posts"> <img ng-src='{{post.name}}' class="img-rounded col-md-2" alt=""> <h4 class="list-group-item-heading">{{post.name1}}</h4> <p class="list-group-item-text"> {{post.text1}}</p><div class="clearfix"></div> </div> </div> </div> Я не силен в JS. По логике нужно вставить тег ng-click="open({{post.id}})" в шаблон общего вывода. Но как его обрабатывать в контроллере не знаю. Подскажите, как сделать? |
Цитата:
http://angular-doc.herokuapp.com/tutorial/step_07 http://angular-doc.herokuapp.com/tutorial/step_08 |
Подключил ngRoute, добавил маршрутизацию. Но почему-то не работает.. В консоли пусто.
Как можно потестить работу маршрутизации? И можно ли без маршрутизации? |
Извиняюсь, забыл вставить <ng-view></ng-view> в главный шаблон.
Спасибо за наводку. Отпишусь, что получится. |
Отлично, заработало. Большое спасибо за помощь!
|
Цитата:
Просто сформировать правильный УРЛ и выполнить по нему переход. Либо отправить "туда" форму или запрос... |
Часовой пояс GMT +3, время: 06:26. |