2016-07-26 3 views
0

Ich habe eine Komponente mit einer Aktion. Nachdem die Aktion ausgeführt wurde, möchte ich eine PATCH Anfrage an einen API-Endpunkt senden. /posts/{id}.Senden einer HTTP-Anfrage, nachdem eine Aktion aufgetreten ist

Wie wird das erreicht?

Meine Komponentencode app/components/post.js:

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    isLiked: false, 
    actions: { 
     toggleLiked() { this.toggleProperty('isLiked'); } 
    } 
}); 
+0

Verwenden Sie ember Daten? Oder möchten Sie nur eine normale AJAX-Anfrage senden? – Lux

+0

@Lux Ich benutze Ember-Daten. Mit einer JSONAPI 1.0-REST-API. –

Antwort

0

Da Sie verwenden ember-data Sie wahrscheinlich bereits einen Beitrag Modell haben. Also gehe ich davon aus Sie Ihre Komponente wie folgt aufrufen:

{{my-post-component post=model}} 

Wenn Sie dies tun, können Sie einfach das Modell ändern und dann .save() in Ihrer Aktion rufen:

actions: { 
    toggleLiked() { 
    get(this, 'post').toggleProperty('isLiked'); 
    get(this, 'post').save(); // this will make the PATCH 
    } 
} 
Verwandte Themen