dimanche 3 avril 2016

Update Ember model live via action

I'm new to Ember.js and keep struggling on a simple task. My goal is to achieve live update of the page content after action is triggered. I'm quite lost in Ember logics regarding route-controller-model relationship in this case.

So my template.hbs is something like:

<h1>{{model.somedata}}</h1>
<button {{action 'getContent'}}>Get Content</button>

My controller accepts some params from user form and makes the AJAX call:

export default Ember.Controller.extend({
    somedata: 'hello',
    actions: {
        getContent: function () {
            var self = this;

            Ember.$.ajax({

                // ... standart call with some query data

                success: function(result) {
                    self.set('somedata', result);
                } 
            });
        }
    }
});

My route model returns only controller params, so if I get it right as controller properties get updated, there must be a simple step to update the current model and display all changes to the template.

export default Ember.Route.extend({
    model: function(params) {
        return params;
    }
});

Can you guys give me a tip how this process is regularly built in Ember?




Aucun commentaire:

Enregistrer un commentaire