Tôi hiện đang cố tìm cách truy cập siêu dữ liệu khi sử dụng cuộc gọi store.findRecord()
.Ember.js: Cách truy cập siêu dữ liệu JSON API từ store.findRecord gọi
Trong hướng dẫn (http://guides.emberjs.com/v2.1.0/models/handling-metadata/) nó nói rằng siêu dữ liệu có thể được truy cập bằng cách làm như sau:
store.query('post').then((result) => {
let meta = result.get('meta');
})
Tôi đã hy vọng điều này sẽ làm việc khi sử dụng findRecord
cũng
store.findRecord('book', params.id, {adapterOptions: {query: params}}).then((result) => {
let meta = result.get('meta');
})
Tuy nhiên này luôn trả về undefined cho thuộc tính meta
. Tôi giả định rằng siêu dữ liệu không được đặt khi sử dụng findRecord
. Tôi đang trở về giá trị JSON-API với một tài sản meta
ở cấp cao nhất như thế này:
{
"meta": {
"page": {
"number": 1,
"size": 100,
"total": 20
},
"data":[
// data here
]
}
}
Có cách nào để truy cập vào các siêu dữ liệu trả về bởi server khi sử dụng findRecord() và JSONAPISerializer và JSONAPIAdapters?
Cảm ơn bạn!
Tôi đang sử dụng các phiên bản sau:
Ember : 2.1.0
Ember Data : 2.1.0
jQuery : 1.11.3
Bản ghi đã có trong cửa hàng khi bạn đang thực hiện findRecord chưa? –
Ý tưởng hay nhưng nó chưa có trong cửa hàng. Tôi cũng kiểm tra để chắc chắn rằng trong thanh tra chrome rằng yêu cầu mạng đang được thực hiện và nó được. Tôi bắt đầu nghĩ rằng điều này không được hỗ trợ ngay bây giờ. Dựa trên một số cuộc thảo luận trong slack có vẻ như khóa meta chỉ hoạt động trên các bộ sưu tập. – Sarus
Hãy xem Hướng dẫn Ember về 'truy vấn' so với' queryRecord' so với 'findRecord' vv. Tôi nghĩ rằng những gì bạn đang cố gắng làm với' findRecord' là không thể: http: //guides.emberjs. com/v2.1.0/models/finding-records/ – vikram7