@CyberQuantum
Frontend-разработчик

Как перенести переменную в серриализатор из обработчика события?

Есть кода в шаблоне (пагинация):
<ul class="pagination"> 
	  {{#each item in meta.pagination}}
	   <li {{action "newPage"  item}}><a href="#">{{item}}</a></li> 
	  {{/each}}
</ul>


По мотивам Как обработать ответ (pagination) от Django REST framework в EmberJS?
Код контроллера:
App.ArticlesController = Ember.ArrayController.extend({
    needs: ['application'],
    queryParams: ['offset'],
    offset: 0,

    actions: {

        //....
        newPage: function(item) {

            var self = this,
                offset = 0;
            if (item == 1) {
                offset = -1;
            } else {
                offset = (item * 10) - 10;
            } // end if

           var page = 5;
            // вот здесь нужно как то передать  переменную page в серриализатор
           //  типа this.store.set("page", page); , но так не работает

            self.transitionToRoute('articles', {
                queryParams: {
                    "offset": offset
                }
            });

        }


    },
    makeAction: function(widget, params) {
        'use strict';
        var _this = this;
        //var widget = this.get('content');
        var adapter = this.container.lookup('adapter:application');

        adapter.ajax(this.buildUrl(adapter, widget), 'POST', {
                data: params
            })
            .finally(function(response) {
                widget.reload();
            });
    }

});

Часть кода серриализатора:
extractMeta: function(store, type, payload) {

var page = 1;

   // здесь как то принять page
  // типа page = store.get("page"); , но так не работает

    var pagination = [1,2,3,4,5,6,7,8,9,10]; 

    if (payload && payload.next && payload.previous && payload.count) {
      store.setMetadataFor(type, { next:payload.next, previous:  payload.previous, count: payload.count, page: page, pagination: pagination });  // sets the metadata for "post"
    }
  },
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы