Извините за мой английский.Ужасные данные странные проблемы при получении метаданных
Так что у меня действительно странные проблемы с извлечением metedata. В моем приложении отображается список закладок. У меня установлена бесконечная система прокрутки. Он работает отлично. Чтобы установить этот бесконечный свиток у меня есть действие в мой контроллер, который загружается больше закладки:
loadMore: function() {
var self = this;
var meta = this.store.metadataFor('bookmark');
if(meta.nextPage != null) {
self.set('isLoadingMore', true);
self.store.find('bookmark', {page: meta.nextPage})
.then(function(bookmarks) {
self.set('isLoadingMore', false);
}).catch(function(err) {
self.set('isLoadingMore', false);
});
}
else {
self.set('isLoadingMore', false);
}
}
Так как, что эта функция работает отлично. Если я прокручу его, загрузите следующую страницу закладок. Это консоль js:
XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=3".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=4".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=4".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=5".
Но я хотел бы использовать эти meteData в моем шаблоне. Таким образом, я создал вычисляемый свойство в моем контроллере:
metaData: Ember.computed('model.isFulffiled', function() {
return this.store.metadataFor('bookmark')
}),
Так как я сделал, что я могу получить доступ к метаданным в моем шаблоне, но metada, похоже, не был обновлен, когда функция loadMore называется. Таким образом, loadMore fonction всегда загружает следующую страницу, указанную в метаданных исходного запроса.
XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
jquery.js:8625 XHR finished loading: GET "http://localhost:8000/api/bookmarks?page=2".
Я также отвечал на вопрос о discuss.emberjs.com