Javascript.RU

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

Подскажите, как сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2015, 08:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от abo06
Подскажите, как при нажатии на определенный материал в общем списке открывать подробное его описание?
В букваре есть пример...
http://angular-doc.herokuapp.com/tutorial/step_07
http://angular-doc.herokuapp.com/tutorial/step_08
Ответить с цитированием
  #3 (permalink)  
Старый 25.06.2015, 21:43
Новичок на форуме
Отправить личное сообщение для abo06 Посмотреть профиль Найти все сообщения от abo06
 
Регистрация: 22.06.2015
Сообщений: 7

Подключил ngRoute, добавил маршрутизацию. Но почему-то не работает.. В консоли пусто.

Как можно потестить работу маршрутизации?

И можно ли без маршрутизации?
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2015, 22:45
Новичок на форуме
Отправить личное сообщение для abo06 Посмотреть профиль Найти все сообщения от abo06
 
Регистрация: 22.06.2015
Сообщений: 7

Извиняюсь, забыл вставить <ng-view></ng-view> в главный шаблон.

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

Отлично, заработало. Большое спасибо за помощь!
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2015, 08:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от abo06
можно ли без маршрутизации?
Можно и без нее.
Просто сформировать правильный УРЛ и выполнить по нему переход. Либо отправить "туда" форму или запрос...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как открыть скачанный файл? Dimaz Javascript под браузер 1 06.11.2014 16:40
Как использовать sprit'ы? Hekumok Общие вопросы Javascript 17 10.08.2012 11:24
Ползунок как на YouTube и условие. dailclever Элементы интерфейса 1 23.07.2012 19:51
Как открыть новое окно? megaswin Общие вопросы Javascript 1 13.03.2010 20:13
как открыть документ частично? mirniy Общие вопросы Javascript 3 02.03.2009 18:37