При прототипии функций входа в мое приложение ember, я использую маршрут, чтобы сделать запрос в хранилище на основе заданного имени пользователя. Если это имя пользователя не найдено, мой API возвращает объект с свойством message. Вот этот маршрут:Получение свойств Query Find
App.LoginRoute = Ember.Route.extend({
actions: {
getUsername: function(username){
this.store.find('user', {username: username}).then(function(user){
var eid = user.get('eid');
console.log(eid);
if (eid) {
self.controller.send('transition', "index");
}
else {
self.controller.set('model', "Oops! That's not right.");}
});
}
}
});`
Если имя пользователя существует в базе данных, API отправит обратно пользовательский объект. Он загружается в магазин просто отлично, если имя пользователя существует, я могу видеть запись в Data in Ember Inspector. Однако я не могу понять, как получить свойства этого пользовательского объекта.
В .then
Я передаю возвращаемую информацию и попытаюсь позвонить .get
, но это всегда возвращает undefined.
Каков правильный способ получить свойства того, что возвращается с store.find('store', {query})
?
Благодарим за исправление моего понимания того, что возвращает запрос на поиск! Я боролся с этим уже пару дней. Ваше решение работало точно так, как мне нужно. Спасибо! – carebdayrvis
Если вы запутались в том, что возвращается, вы всегда можете использовать '.toString()', чтобы сообщить вам, какой тип модели возвращается. В примере Kingpin2k в '.then()' вы бы сделали 'console.log (userCollection.toString()), который скажет вам, что это коллекция. –
Любые советы по тому, почему то, что возвращается, не содержит контента? Я ничего не могу извлечь из этого. Я хотел бы узнать информацию о том, что было возвращено, но 'userCollection.get ('firstObject')' возвращает undefined. – carebdayrvis