2016-06-05 2 views
3

у меня есть JSon данные с моего сервера:Эмбер JS получить мета информацию из JSON

{ 
    "post": { 
    "id": 1, 
    "title": "Progressive Enhancement is Dead", 
    "comments": ["1", "2"], 
    "links": { 
     "user": "/people/tomdale" 
    } 
    }, 

    "meta": { 
    "total": 100 
    } 
} 

выглядят в точности как документации (https://guides.emberjs.com/v2.5.0/models/handling-metadata/) я стараюсь, чтобы получить мета-объект без успеха

export default Ember.Route.extend({ 
    model() { 
    var data = this.store.findAll('post'); 
    data.then((result) => { 
     let meta = result.get('meta'); 
     console.log(meta); //this return me undefined 
    }) 
    return data; 
    } 
}); 
+0

Какую версию Ember вы используете? –

+0

Последняя версия 2.5.1 – mikl

+0

https://github.com/emberjs/data/issues/3419 Похоже, что это невозможно для одной записи мета, мне кажется, что у вас есть только одно сообщение, может быть, это проблема. –

ответ

4

Вы используете метод findAll и не поддерживаете метаданные. Вместо этого вы должны использовать метод this.store.query('post', {/*params*/}), если хотите получить несколько сообщений с метаданными.

+0

ok спасибо, что вы правы, но я не понимаю, почему я не могу использовать метод findAll (https://guides.emberjs.com/v2.4.0/models/finding-records/), это немного амбициозный для меня – mikl

+0

Я предполагаю, что причина в том, что ember ожидает, что EVERYTHING вернется из API при выполнении findAll, поэтому не ожидает никаких метаданных. Но это всего лишь предположение, которое объясняет мне такое поведение. – Jeff