nie widzę nic w API odczytu, który zapewnia dostęp do tego: http://api.dojotoolkit.org/jsdoc/1.3.2/dojo.data.api.ReadJak uzyskać liczenie (wielkość) przedmiotu w magazynie danych dojo?
Odpowiedz
Format danych przewodów dowolnego magazynu danych jest całkowicie zależny od sklepu. Aby uzyskać całkowitą liczbę elementów (i inne metadane), należy je zwrócić jako część odpowiedzi. Jest to jedyny sposób na tworzenie stronicowania po stronie serwera.
Wszystkie sklepy I wprowadziły oczekiwać dane zawierają atrybut totalCount
, tak:
{
identifier: 'id',
items: [
{ id: 123, name: 'aaa', ... },
{ id: 456, name: 'bbb', ... },
...
],
totalCount: 525
}
Sklep zapisuje to, kiedy powróci zapytań (w onComplete
). Wartość jest następnie eksponowana za pośrednictwem metody getTotalCount()
w sklepie.
W połączeniu z opcjami żądania start
i count
pozwala to na ładowanie stronicowania ajaxów ("Wyświetlanie 1-50 z 525").
Ponieważ nie jest to część interfejsu API, podstawowe implementacje odczytanego interfejsu API nie implementują go. Forma tej techniki (podobna do tego, co zrobiłem) wydaje się być implementowana przez dojo.data.QueryReadStore
, więc prawdopodobnie też możesz tam zajrzeć.
Przykładem na dojocampus pokazuje jeden sposób. W tym przypadku parametr fetch
bez parametru query
zwraca wszystkie elementy w magazynie.
var store = new some.Datastore();
var gotItems = function(items, request){
console.log("Number of items located: " + items.length);
};
store.fetch({onComplete: gotItems});
szukałem odpowiedzi na to pytanie, używając sklep JsonRest, i to wydaje się być to:
na serwerze, należy spojrzeć w nagłówku klasy w żądaniu, aby wiedzieć, które elementy wracać. Serwer powinna reagować z nagłówka Content-klasy, aby wskazać ile produkty są zwracane i ile istnieje całkowity elementy:
Content-Range: items 0-24/66
Od: http://dojotoolkit.org/reference-guide/dojo/store/JsonRest.html
dojo.data.api.Read-tych onBegin funkcji ma całkowity rozmiar meczu:
function size(size, request){
// Do whatever with the size var.
}
store.fetch({query: {}, onBegin: size, start: 0, count: 0});
Od tego Szybki start: http://dojotoolkit.org/reference-guide/1.7/quickstart/data/usingdatastores/faq.html#question-6-how-do-i-get-a-count-of-all-items-in-a-datastore
Poniższy kod pracował dla mnie
// questionStoreReader is a pointer that points to and can read ask.json file
var questionStoreReader=new dojo.data.ItemFileReadStore({url:"ask.json"});
questionStoreReader.fetch(
{
onComplete:function(items,request) // items is an array
{
alert(items.length);// number of items in ask.json
},
})
- 1. Jak umieścić słownik w magazynie danych?
- 2. Jak uzyskać wielkość jednostki w GAE/J?
- 3. licznik częstotliwości przedmiotu w pytonie
- 4. Wydajny sposób przechowywania krotek w magazynie danych
- 5. Jak zachować wielkość liter w atrybucie danych?
- 6. wielkość pamięci struktury danych Pythona
- 7. Dojo: dojo onblur events
- 8. Liczenie w widokach szyn
- 9. Jak debugować Dojo w przeglądarce?
- 10. Liczenie występowania gatunków w siatce
- 11. MySQL: Wielkość typu danych dziesiętnych
- 12. Usuń fałszywych wartości przedmiotu
- 13. Scrapy: Śledź link, aby uzyskać dodatkowe dane przedmiotu?
- 14. Jak uzyskać parametry adresu URL za pomocą zestawu narzędzi Dojo
- 15. Dopasowywanie przybliżonego ciągu znaków w magazynie danych podstawowych
- 16. Konstrukcja DOJO, która nie zawiera podstawy DOJO
- 17. zmiana Liczenie w Haskell
- 18. Jaki jest cel przodków w magazynie danych wyszukiwarki Google?
- 19. Różnica między rodzajem a datą w magazynie danych GAE?
- 20. Przechowywanie hierarchii katalogów w magazynie danych klucz-wartość
- 21. Grupowanie i liczenie elementów HTML według atrybutu danych w jQuery
- 22. Jak zmienić wielkość nazwy bazy danych w MySQL?
- 23. Jak naprawić błąd "Niepoprawny typ klasy przedmiotu."
- 24. Subcollections zapytania w magazynie ogniowym
- 25. tvOS UICollectionView uzyskać aktualnie skoncentrowaną ścieżkę indeksu przedmiotu
- 26. Parsowanie krzyżów i liczenie
- 27. grupowanie, porównywanie i liczenie wierszy w r
- 28. Zyskaj datę utworzenia przedmiotu w Sitecore
- 29. ustawić onClickListener dla przedmiotu obrotowego?
- 30. Wielkość typu danych za pomocą NumPy
Z dojo.data.ItemFileReadStore można zrobić. myStore._getItemsArray() długość Ale to zwłaszcza do tego magazynu danych. Zastanawiam się, jaki jest właściwy sposób na uzyskanie rozmiaru sklepu. – Arlo
Ta metoda jest jeszcze bardziej hackowa, niż początkowo sądziłem. Tablica nie jest inicjowana, dopóki nie zostanie wywołane pobieranie. Musisz więc upewnić się, że pobierasz przed sprawdzeniem długości tablicy. >>> store._getItemsArray(). Długość >>> store.fetch() = Przedmiot przechowywać Obiekt >>> store._getItemsArray(). Długość 2 – Arlo