我有一个表单,允许用户在我的控制器中填写一些绑定到名为“person”的ng模型的数据,person模型还存储图像数据。我想建立一个工厂,所以当用户离开页面时,我可以调用这个方法来保存现有的表单数据和图像数据,当他们回到页面时,我可以从工厂获取它们,在表单提交后,我将调用出厂重置方法来清除它。
我有一些东西但是没有用,所以当我离开页面时我调用了storeData(),当我回来时我调用了get(),似乎在提交之后,resetPersonService()并不是真的清除存储的数据,有什么想法吗?
.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();
}
}
}])