Attualmente sto cercando di capire come accedere ai metadati quando si utilizza la chiamata store.findRecord()
.Ember.js: Come accedere ai metadati dell'API JSON dalla chiamata store.findRecord
Nelle guide (http://guides.emberjs.com/v2.1.0/models/handling-metadata/) si dice che i metadati si può accedere nel modo seguente:
store.query('post').then((result) => {
let meta = result.get('meta');
})
Speravo che questo avrebbe funzionato quando si utilizza findRecord
così
store.findRecord('book', params.id, {adapterOptions: {query: params}}).then((result) => {
let meta = result.get('meta');
})
Tuttavia questo sempre restituisce undefined per la proprietà meta
. Suppongo che i metadati non vengano impostati quando si utilizza findRecord
. Sto tornando valida JSON-API con una proprietà meta
al livello più alto in questo modo:
{
"meta": {
"page": {
"number": 1,
"size": 100,
"total": 20
},
"data":[
// data here
]
}
}
C'è un modo per accedere ai metadati restituito dal server quando si utilizza TrovaRecord() e il JSONAPISerializer e JSONAPIAdapters?
Grazie!
Sto usando le seguenti versioni:
Ember : 2.1.0
Ember Data : 2.1.0
jQuery : 1.11.3
Il record è già presente nel negozio quando si esegue findRecord? –
Bel pensiero ma non è già presente nel negozio. Ho anche verificato che l'ispettore di Chrome fosse in grado di eseguire la richiesta di rete ed è così. Sto iniziando a pensare che questo non sia supportato al momento. Sulla base di alcune discussioni in sospeso, sembra che la meta chiave funzioni solo sulle raccolte. – Sarus
Dai un'occhiata alle Guide di Brace su 'query' vs' queryRecord' vs 'findRecord' ecc. Penso che quello che stai cercando di fare con' findRecord' non sia possibile: http: //guides.emberjs. com/v2.1.0/models/finding-records/ – vikram7