Обновление данных хранилища Dojo на стороне клиента
У меня есть сетка данных, которая связана с ItemFileReadStore. В моем случае у меня есть столбец "Расставить приоритеты", чтобы сместить строки вверх-вниз в соответствии с выбором пользователя. Порядок приоритетов хранится в таблице БД. В настоящее время я добился этого, отправляя запрос AJAX при каждом щелчке стрелки вверх и вниз, получая обновленные данные в объекте JSON и перезагружая все данные в сетке данных.
Но я думаю, что это слишком много переноса данных. я ищу следующее: после обновления данных в БД, если обновление прошло успешно, я просто передал бы флаг успеха вызывающему методу JS и обновил бы данные локально в хранилище на стороне клиента. Это ускорит ответ и займет меньше нагрузки на сеть.
Я знаю, что это можно сделать в ExtJS ( http://docs.sencha.com/extjs/3.4.0/), но не знаю, как попасть в Dojo. Я просмотрел документацию, но не смог найти ничего полезного.
Может кто-нибудь, пожалуйста, направьте меня, подумал это?
1 ответ
Было бы гораздо проще ответить, если бы вы определили, за чем стоит ваш ресурс. У меня была точная проблема, и я решил ее с помощью JsonRest вместе с dgrid.
Из вашего вопроса я понял, что вы отправляете запросы AJAX в БД, и это означает, что у вас есть (надеюсь) небольшой REST API между ними.
Если это так, я бы предложил перейти от ItemFileReadStore к dojo/store/JsonRest, который на самом деле не вредит вашей существующей архитектуре манипулирования данными, но даже значительно улучшает ее.
dojo/store/JsonRest сделает именно то, что вы ищете, и даже больше. Любое небольшое изменение в магазине будет обработано, как вы упомянули, без дорогостоящего обновления всех данных.
Извините, если это не решит вашу проблему.