Ember rendering multiple models
up vote
1
down vote
favorite
I want to render multiple models into the same route.
The data is coming from a DRF api in JSON format.
I need to access the data in the template separately.
ember.js
add a comment |
up vote
1
down vote
favorite
I want to render multiple models into the same route.
The data is coming from a DRF api in JSON format.
I need to access the data in the template separately.
ember.js
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I want to render multiple models into the same route.
The data is coming from a DRF api in JSON format.
I need to access the data in the template separately.
ember.js
I want to render multiple models into the same route.
The data is coming from a DRF api in JSON format.
I need to access the data in the template separately.
ember.js
ember.js
edited 10 hours ago
asked 10 hours ago
naseem
158
158
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
The things you have to keep in mind that
You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
Make sure that adapter and model has the same name.You've to load more than one model into the route
so here you can make use of RSVP hash,
example:
import Route from '@ember/routing/route';
import hash from 'rsvp'
export default Route.extend({
model: function() {
return hash({
post1: this.store.findAll('model1');
post2: this.store.findAll('model2');
});
},
setupController(controller, model) {
this._super(...arguments);
Ember.set(controller, 'post1', model.post1);
Ember.set(controller, 'post2', model.post2);
}
});
Now in the template.hbs you can access this model as follows,
{{#each post1 as |people|}}
<p>{{people}}</p>
{{/each}}
{{#each post2 as |user|}}
<p>{{user}}</p>
{{/each}}
add a comment |
up vote
1
down vote
Just use Ember.RSVP
hashes.
It's quite simple, just import RSVP like so :
import RSVP from 'rsvp';
And then you load the model like so
model() {
return RSVP.hash({
user: this.store.findAll('user'),
model2: this.store.findAll('model2')
});
}
And then when you want to access to the different two model in your template for example just do : model.model2
So for example if the first loaded model is a user do model.user.firstName
or like so in your template.hbs {{model.user.firstName}}
You will find some documentation about it here : Ember RSVP documentation
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
The things you have to keep in mind that
You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
Make sure that adapter and model has the same name.You've to load more than one model into the route
so here you can make use of RSVP hash,
example:
import Route from '@ember/routing/route';
import hash from 'rsvp'
export default Route.extend({
model: function() {
return hash({
post1: this.store.findAll('model1');
post2: this.store.findAll('model2');
});
},
setupController(controller, model) {
this._super(...arguments);
Ember.set(controller, 'post1', model.post1);
Ember.set(controller, 'post2', model.post2);
}
});
Now in the template.hbs you can access this model as follows,
{{#each post1 as |people|}}
<p>{{people}}</p>
{{/each}}
{{#each post2 as |user|}}
<p>{{user}}</p>
{{/each}}
add a comment |
up vote
1
down vote
accepted
The things you have to keep in mind that
You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
Make sure that adapter and model has the same name.You've to load more than one model into the route
so here you can make use of RSVP hash,
example:
import Route from '@ember/routing/route';
import hash from 'rsvp'
export default Route.extend({
model: function() {
return hash({
post1: this.store.findAll('model1');
post2: this.store.findAll('model2');
});
},
setupController(controller, model) {
this._super(...arguments);
Ember.set(controller, 'post1', model.post1);
Ember.set(controller, 'post2', model.post2);
}
});
Now in the template.hbs you can access this model as follows,
{{#each post1 as |people|}}
<p>{{people}}</p>
{{/each}}
{{#each post2 as |user|}}
<p>{{user}}</p>
{{/each}}
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
The things you have to keep in mind that
You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
Make sure that adapter and model has the same name.You've to load more than one model into the route
so here you can make use of RSVP hash,
example:
import Route from '@ember/routing/route';
import hash from 'rsvp'
export default Route.extend({
model: function() {
return hash({
post1: this.store.findAll('model1');
post2: this.store.findAll('model2');
});
},
setupController(controller, model) {
this._super(...arguments);
Ember.set(controller, 'post1', model.post1);
Ember.set(controller, 'post2', model.post2);
}
});
Now in the template.hbs you can access this model as follows,
{{#each post1 as |people|}}
<p>{{people}}</p>
{{/each}}
{{#each post2 as |user|}}
<p>{{user}}</p>
{{/each}}
The things you have to keep in mind that
You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
Make sure that adapter and model has the same name.You've to load more than one model into the route
so here you can make use of RSVP hash,
example:
import Route from '@ember/routing/route';
import hash from 'rsvp'
export default Route.extend({
model: function() {
return hash({
post1: this.store.findAll('model1');
post2: this.store.findAll('model2');
});
},
setupController(controller, model) {
this._super(...arguments);
Ember.set(controller, 'post1', model.post1);
Ember.set(controller, 'post2', model.post2);
}
});
Now in the template.hbs you can access this model as follows,
{{#each post1 as |people|}}
<p>{{people}}</p>
{{/each}}
{{#each post2 as |user|}}
<p>{{user}}</p>
{{/each}}
answered 10 hours ago
Sreenath
6210
6210
add a comment |
add a comment |
up vote
1
down vote
Just use Ember.RSVP
hashes.
It's quite simple, just import RSVP like so :
import RSVP from 'rsvp';
And then you load the model like so
model() {
return RSVP.hash({
user: this.store.findAll('user'),
model2: this.store.findAll('model2')
});
}
And then when you want to access to the different two model in your template for example just do : model.model2
So for example if the first loaded model is a user do model.user.firstName
or like so in your template.hbs {{model.user.firstName}}
You will find some documentation about it here : Ember RSVP documentation
add a comment |
up vote
1
down vote
Just use Ember.RSVP
hashes.
It's quite simple, just import RSVP like so :
import RSVP from 'rsvp';
And then you load the model like so
model() {
return RSVP.hash({
user: this.store.findAll('user'),
model2: this.store.findAll('model2')
});
}
And then when you want to access to the different two model in your template for example just do : model.model2
So for example if the first loaded model is a user do model.user.firstName
or like so in your template.hbs {{model.user.firstName}}
You will find some documentation about it here : Ember RSVP documentation
add a comment |
up vote
1
down vote
up vote
1
down vote
Just use Ember.RSVP
hashes.
It's quite simple, just import RSVP like so :
import RSVP from 'rsvp';
And then you load the model like so
model() {
return RSVP.hash({
user: this.store.findAll('user'),
model2: this.store.findAll('model2')
});
}
And then when you want to access to the different two model in your template for example just do : model.model2
So for example if the first loaded model is a user do model.user.firstName
or like so in your template.hbs {{model.user.firstName}}
You will find some documentation about it here : Ember RSVP documentation
Just use Ember.RSVP
hashes.
It's quite simple, just import RSVP like so :
import RSVP from 'rsvp';
And then you load the model like so
model() {
return RSVP.hash({
user: this.store.findAll('user'),
model2: this.store.findAll('model2')
});
}
And then when you want to access to the different two model in your template for example just do : model.model2
So for example if the first loaded model is a user do model.user.firstName
or like so in your template.hbs {{model.user.firstName}}
You will find some documentation about it here : Ember RSVP documentation
answered 10 hours ago
Djamel
206213
206213
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265863%2fember-rendering-multiple-models%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password