jeudi 19 janvier 2017

A model id come from another model, how can I set in route by ember

My ember version:

DEBUG: -------------------------------
Ember             : 2.10.2
Ember Data        : 2.11.0
jQuery            : 2.2.4
Ember Simple Auth : 1.1.0
Model Fragments   : 2.3.2
DEBUG: -------------------------------

And my route code:

import Ember from 'ember';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import RSVP from 'rsvp';

export default Ember.Route.extend(AuthenticatedRouteMixin, {
  model() {
    console.log(1);
    return RSVP.hash({
      ...,
      user: this.store.findRecord('user', this.get('session.data.authenticated.id'))
    });
  },

  afterModel(model, transition) {
    return this.store.findRecord('company', model.user.get('companyId')).then(company => {
      console.log(2);
      this.set('company', company);
    });
  },

  setupController(controller, model) {
    console.log(3);
    controller.set('user', model.user);
    controller.set('company', this.get('company'));
  }
});

Look at console.log code, I think the correct order should be 1->2->3. But sometimes it turns out to be 1->3->2.

But my company id must come from user api. So what is way I set it in route? Thanks.




Aucun commentaire:

Enregistrer un commentaire