Добрый день!
Подскажите, как при нажатии на определенный материал в общем списке открывать подробное его описание?
У меня есть контроллер, который отображает список записей с пагинацией:
// 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}})" в шаблон общего вывода. Но как его обрабатывать в контроллере не знаю.
Подскажите, как сделать?