2016-05-26 8 views
1

Ich bin neu in Ember.js und ich versuche, ein Objekt nach einer Ajax Anfrage in den Laden hinzuzufügen.store.push nicht auf Vorlage mit Ember-Cli-Paginierung

Das Problem ist, dass es nicht auf Vorlage reflektiert, wenn ich glut-cli-Paginierung verwenden. Wenn ich this.store.findAll im Modell verwende, funktioniert es, aber wenn ich this.findPaged benutze es nicht.

Ich benutze Ember-Inspector und das Objekt erscheint im Laden, nur nicht im Browser.

Mein Code:

import Ember from 'ember'; 
import RouteMixin from 'ember-cli-pagination/remote/route-mixin'; 

export default Ember.Route.extend(RouteMixin, { 
    actions: { 
    create: function(email) { 
     let adapter = Ember.getOwner(this).lookup('adapter:application'); 
     let url = adapter.buildURL('billing/delivery-files'); 
     let store = this.get('store'); 
     let modelName = 'billing/delivery-file'; 

     return adapter.ajax(url, 'POST', { 
     email: email 
     }).then(function(data) { 
     var normalized = store.normalize(modelName, data.object); 
     store.push(normalized); 
     }); 
    } 
    }, 
    model(params) { 
    return this.findPaged('billing/delivery-file',params); //does not work 
    // return this.store.findAll('billing/delivery-file'); //works 
    } 
}); 

versucht, die Lösungen aus diesem issue, und nicht bei allen.

Was fehlt mir?

Antwort

0

Herausgefunden!

Nach dem Drücken auf den Speicher, musste ich auf den paginierten Array einen Verweis auf das Speicherobjekt schieben. Ich weiß nicht genau warum, aber es hat funktioniert wie ein Zauber!

model.content.pushObject(pushedRecord._internalModel);

In meinem Fall wollte ich es in der ersten Position des Arrays, also tat ich:

model.content.insertAt(0, pushedRecord._internalModel);