Если содержимое изменяется на стороне сервера, и вы просто хотите обновить свою локальную копию, не перезагружая страницу, вы можете позвонить fetch
в хранилище и обновить ваш компонент при получении новых данных.
Вот код, который я использую для обновления dojox.grid.DataGrid при обновлении содержимого на стороне сервера:
// initialise store and link to DataGrid
var store = new dojo.data.ItemFileReadStore({
url: "items.json",
clearOnClose: true,
urlPreventCache: true
});
var grid = dijit.byId("grid")
grid.setStore(store);
// code to update local copy
store.close();
store.fetch({
onComplete: function(items, request) {
grid._refresh();
}
});
Если вы изменяете сторону клиента данных, вы, вероятно, должны использовать ItemFileWriteStore как АндрейРекомендуется.
Редактировать: grid.sort()
может использоваться для обновления DataGrid в качестве альтернативы grid._refresh()
(чье поведение может со временем меняться)