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
- javascript - Polymer this.push no funciona
- linux - La salida sigue siendo la misma
- Laravel bloquea algunas carpetas en el host
- archivo: haga coincidir la cadena con un nombre de archivo de la carpeta usando php
- javascript - Mostrar GIF hasta que la imagen se cargue por completo
- c# - Xamarin.Forms con SQLite ganó, no compila
- ios - Cómo aplicar un SCNAction & Una fuerza de impulso a un SCNNode
- php: CodeIgniter llama a una devolución de llamada dentro de una clase form_validation personalizada
- notificación push no recibida en android w.r.t. aplicación de córdoba
- uwp: cómo asegurarse de que todos los controles estén visibles en WhiteCanvas
- Sticky Footer CSS HTML en Wordpress
- python - bot de twitter en el error de heroku "No hay procesos web ejecutándose" método=GET ruta="/favicon.ico"
- javascript: la página se cuelga en la solicitud de Ajax a GAE
- javascript - Cómo aumentar el ancho de una columna del diagrama de Gantt en Syncfusion ASP.NET MVC
- comunicación - Confirmación de paquete TinyOs nesc
Artículos calientes
- medicina china para la bronquitis
- Diferencia entre infección de las vías respiratorias superiores y bronquitis
- ¿Qué causa la epididimitis?
- Criterios diagnósticos de cálculos renales
- ¿Qué medicamento la masturbación causa prostatitis?
- ¿Cuáles son los factores de padecer gota?
- Qué comer durante la convalecencia de una hemorragia cerebral
- que es el alzheimer
- Principales criterios diagnósticos de las bronquiectasias
- ¿Cuáles son las formas de prevenir y tratar la menstruación irregular en las mujeres?
- Síntomas de gota de ternera
- Saco gestacional de 5x4mm cuanto dura el embarazo
- La diferencia entre espinillas y espinillas de ácaros
- Por qué frotar con jengibre puede tratar la caída del cabello
- ¿Cuánto tiempo se puede vivir con insuficiencia hepática?