Задать вопрос
  • AngularJS, как при пагинации возвращаться наверх странницы?

    mudrick
    @mudrick
    Máximo progreso hemos alcanzado en minimo seso.
    В самом главном контроллере слушайте изменения УРЛ страницы и крутите наверх:
    $rootScope.$on('$routeChangeSuccess', function(e, current, previous) {
        window.scrollTo(0, 0);
    });


    UPD:
    Если вы хотите сделать пагинацию на сайте вида mysite.ru/1, то в роутах у вас должно быть примерно следующее:
    $routeProvider
         .when('/:pageNumber?', {
              templateUrl: 'partials/home.html',
              controller: 'HomeCtrl'
         })


    В контроллере присоединяйте $routeParams, чтобы считывать переменные из роута, а так же присоединяйте paginationService, у него есть метод setCurrentPage, который задает текущую страницу:
    watchesStore.controller('WatchesStoreController', function($routeParams, paginationService) {
        var pageNumber = $routeParams.pageNumber || 1;
            pageNumber = parseInt(page, 10);
    
        var paginationId = 'watchesStore'; // setCurrentPage требует instanceId — айдишку экземпляра пагинатора, чтобы знать, какой блок, собственно, пагинировать
    
        paginationService.setCurrentPage(paginationId, pageNumber);
    });


    А в HTML-коде у вас нужно еще айдишку экземпляра пагинации (мы его назвали watchesStore) вставить в директиву:
    <dir-pagination-controls boundary-links="true" on-page-change="pageChangeHandler(newPageNumber)" template-url="dirPagination.tpl.html" pagination-id="watchesStore"></dir-pagination-controls>


    UPD2:
    А, только что заметил, что у вас уже есть роут для айдишки часов:
    $routeProvider
        .when('/:watchId', {
            templateUrl: 'partials/watch-detail.html',
            controller: 'WatchDetailCtrl'
        })


    Значит, для пагинации используйте не mysite.ru/1, а обычные GET-параметры mysite.ru/?page=1. В результате в контроллере страничку будете получать так:
    watchesStore.controller('WatchesStoreController', function($location, paginationService) {
        var params = $location.search();
    
        var pageNumber = params.page || 1;
            pageNumber = parseInt(page, 10);
    
        ...
    });
    Ответ написан
    3 комментария
  • Как на javascript и jquery реализовать поблочный скролл?

    @reZed Автор вопроса
    Нашел, такую вещь, идеально вписалась www.thepetedesign.com/demos/onepage_scroll_demo.html
    Ответ написан
    Комментировать
  • Node.js POST запроса для загрузки файла вконтакт, через Open API?

    maxfarseer
    @maxfarseer Автор вопроса
    https://maxpfrontend.ru, обучаю реакту и компании
    madmages - ковыряние исходников в руки тебе...
    а по факту - сам суперагент, внутри уже передает файл в поток, и пишет его, но увы не проставляет content-length, который так нужен вк апи.
    Посмотрев варианты, реализовал запрос через node-curl

    итоговое решение выглядит примерно так:
    curl(url, {
                MULTIPART: [
    
                    {name: 'file1', file: 'path/to/img.png', type: 'image/png'},
                    {name: 'sumbit', contents: 'send'}
                ]
            }, function(e) {
                log.info(this.body);
                res.json(this.body);
            });
    Ответ написан
    2 комментария