Показать сообщение отдельно
  #1 (permalink)  
Старый 24.06.2015, 17:25
Новичок на форуме
Отправить личное сообщение для abo06 Посмотреть профиль Найти все сообщения от abo06
 
Регистрация: 22.06.2015
Сообщений: 7

Как открыть запись по уникальному 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}})" в шаблон общего вывода. Но как его обрабатывать в контроллере не знаю.

Подскажите, как сделать?
Ответить с цитированием