Ember setupЗапрос контроллера

import Ember from 'ember';

export default Ember.Route.extend({
  model: function(){
    return this.store.findAll('podcast')
  },
  setupController(controller, model){
    model.forEach(function(v){
      //i want to make a request here
    })
    controller.set('model', model)
  }
});

this.store.findAll('podcast') возвращает URL-адреса каналов подкастов. Я хочу сделать запрос в setupController, чтобы получить /feed из URL-адресов. Это вообще возможно?


person embergal    schedule 12.06.2016    source источник


Ответы (1)


Конечно, просто используйте собственные вызовы jQuery AJAX. Что-то вроде этого:

Маршрут

import Ember from 'ember';

export default Ember.Route.extend({
    model: function(){
        return this.store.findAll('podcast')
    },

    setupController(controller, model) {
        controller.set('podcastFeeds', []);

        model.forEach( podcast => {
            Ember.$.ajax({
                url: podcast.get('feed'), // get the property
            }).then( feedData => {
                controller.get('podcastFeeds').addObject(feedData);
            }, () => {
                //handle error
            });
        });
    }
});

Шаблон

{{#each podcastFeeds as |podcastFeed|}}
    {{{podcastFeed}}}
{{/each}}
person Jacob van Lingen    schedule 13.06.2016