javascript - Uso de JSONAPI con servicio


¿Puedo usar jsonapi así en un servicio?

//services/pics.js

import Ember from 'ember';

export default Ember.Service.extend({
    findAll: function(){
        return Ember.$.getJSON('http://api.donanimhaber.com/api/v1/site/NewsSite?pageIndex=0&pageSize=15');
    }

    });

Estoy intentando pero no puedo ver nada en la página. Y sin errores en Chrome DevTools.

//componentes/imagen-lista.hbs

{{#each model as |pic|}}
  <div>{{#link-to "pic" pic}}    
     <p class="info">{{pic.Title}}</p><br/>
     <img src={{pic.Image}} width="300">
  {{/link-to}}</div>
{{/each}}
{{yield}}

//templates/index.hbs

{{image-list model=model currentPos=currentPos }}
{{outlet}}

//rutas/pic.js

import Ember from 'ember';
import DS from 'ember-data';

export default Ember.Route.extend({

    activate: function() {
        this._super(...arguments);
        window.scrollTo(0,0);
    },

    pics: Ember.inject.service(),
    model(params) {
        console.info(params, "Params");
        return this.get('pics').get('pics').find(function(item){
            if(Ember.isEqual(params.NewsUrl,item.NewsUrl)){
                return true;
            }
            else {
                return false;
            }
        });
} 
});

//rutas/index.js

import Ember from 'ember';

export default Ember.Route.extend({
    pics: Ember.inject.service(),
    model() {
        console.log(this.get('pics').get('pics'));
        return this.get('pics').get('pics');
    }

});


------------Respuesta------------

Teóricamente podrías, pero creo que deberías devolver el resultado de la llamada getJSON desde el gancho del modelo de tu ruta.

Sisu objetivo aquí es reutilizar los datos en diferentes rutas, luego debe definir un modelo pic y configurar el JSONAPIAdapter correspondiente para apuntar a su API. Entonces podrá llamar a this.store.findAll('pic') en su enlace de modelo para obtener todas las imágenes de la API.

Consulte las guías sobre definición de modelos: https://guides.emberjs.com/v2.6.0/models/

y también sobre cómo personalizar adaptadores: https://guides.emberjs.com/v2.6.0/models/customizing-adapters/

Etiquetas: ember-cli ember-data ember.js javascript

Artículos relacionados:

javascript: varios datos en una matriz, pero solo se ordenan por nombre

android - listview no se actualiza