Javascript 如何使用Angular factory持久化数据
我有一个表单,允许用户填写一些绑定到我控制器中名为person的ng模型的数据,person模型还存储图像数据。我想建立一个工厂,所以当用户离开页面时,我可以调用此方法来保存现有的表单数据和图像数据,当他们返回页面时,我可以从工厂获取它们,在表单提交后,我将调用工厂重置方法来清除它 我有一些东西,但不起作用,所以当我离开页面时,我调用storeData,当我回来时,我调用get,似乎在提交后,resetPersonService没有真正清除存储的数据,知道吗Javascript 如何使用Angular factory持久化数据,javascript,angularjs,Javascript,Angularjs,我有一个表单,允许用户填写一些绑定到我控制器中名为person的ng模型的数据,person模型还存储图像数据。我想建立一个工厂,所以当用户离开页面时,我可以调用此方法来保存现有的表单数据和图像数据,当他们返回页面时,我可以从工厂获取它们,在表单提交后,我将调用工厂重置方法来清除它 我有一些东西,但不起作用,所以当我离开页面时,我调用storeData,当我回来时,我调用get,似乎在提交后,resetPersonService没有真正清除存储的数据,知道吗 .factory("PersonSe
.factory("PersonService", [function(){
var newPerson = {};
function storeData(person){
if (person.image_data){
newPerson.image_data = person.image_data;
}
if (person.description)
newPerson.description = person.description;
return newPerson;
};
function resetPersonService(){
newPerson = {};
};
function get(){
if (Object.keys(newPerson).length == 0){
return {};
} else {
return newPerson;
}
};
return {
store: function(person){
return storeData(person);
},
reset: function(){
resetPersonService();
},
get: function(){
return get();
}
}
}])
我在想,为什么不使用本地存储呢?你说的人返回页面是什么意思?在整个页面重新加载之后?你也可以发布控制器代码吗?我不担心页面重新加载,因为它是一个移动应用程序。所以我的意思是,当用户导航返回表单页面时,我认为Ved可能是对的,本地存储可能更简单。