В приведенном ниже коде методы fetch() и sync() ничего не делают. Я пытаюсь увидеть, как данные в моем localStorage обновляются, а методы не обновляют его (пример строки LS находится в коде) Где я иду не так?Kendo UI datasource sync() не работает
function makeWorkingLS(collDesc, projDesc, Id, Description, ElapsedSeconds, ElapsedTime, WorkItemType){
//Create observable object from params
var activeTaskObject = kendo.observable ({
client: collDesc,
project: projDesc,
taskId: Id,
description: Description,
elapsedSeconds: ElapsedSeconds,
elapsedTime: ElapsedTime,
comment: WorkItemType
});
// example string in localStorage:
//{"client":"Morken Mindy","project":"Shazbat creation engine","taskId":183,"description":"Create the Shazbat 100% efficiency engine","elapsedSeconds":296803,"elapsedTime":"82h43m","comment":"Task"}
// Convert to JSON string for localStorage
var activeTask = JSON.stringify(activeTaskObject);
console.info(activeTask);
//Write to localStorage
window.localStorage.setItem("activeTask",activeTask);
//Set it as the active datasource for updating to webservice
var activeTaskDS = new kendo.data.DataSource({
transport: {
read: function(options){
taskItem = JSON.parse(localStorage["activeTask"]);
},
update: {
url: remUpd, //url var declared earlier in the process
dataType: "json"
}
},
schema: {
model: {
client: "client",
taskId: "taskId"
},
data: function(){
return taskItem;
}
}
});
activeTaskDS.fetch(function(){
activeTaskDS.data()[0].set("client", "NOBODY");
activeTaskDS.sync();
cosole.log("activeTaskDS.data()[0] : "+activeTaskDS.data()[0]); //should read 'NOBODY' but reads 'Morken Mindy'
});
}
Спасибо заранее, Нил.
Спасибо. Это дало мне лучшее понимание того, как мне нужно продолжать. –
@NeilMcLeish, но это ответили на ваш вопрос или у вас проблемы? – DontVoteMeDown
Спасибо. Он частично ответил на мой вопрос, но не показывает мне, почему функция sync() фактически не обновляет данные в localStorage. Для этого конкретного проекта я нашел гораздо более эффективным использование вызова $ .ajax(). Существует ряд условий, которые необходимо проверить при отправке данных обратно в веб-службу, и, поскольку документация Telerik для Kendo MobileUI, похоже, показывает очень упрощенные примеры, я решил пойти с тем, что знаю ... –