【发布时间】:2016-01-06 20:58:52
【问题描述】:
我有一个 Angular 工厂,它是一个复杂的对象,看起来像这样:
app.factory("mainFcty", function(){
return {
a:"",
b:"",
c:""
}
});
当用户从应用程序继续该过程时,他们填写了上述表格。例如说他们正在预订。
他们完成了流程,将其添加到购物车并再次开始填写mainFcty 的流程。
问题是当他们将mainFcty 添加到购物车时,这是一个我需要将mainFcty 重置为a、b 和c 的原始状态的数组,它们都是空字符串。
出于某种原因,一旦我再次启动该过程,应用程序会将其重置为原始状态,但在该过程的某个地方,与旧 mainFcty 的绑定重新出现并覆盖了我第二次收集的所有数据。
在继续该过程之前,任何人对如何重置绑定并删除旧绑定的所有痕迹有任何可靠的想法?
非常感谢您的帮助!
【问题讨论】:
-
你能在闭包中创建一个本地对象吗? app.factory("mainFcty", [function() { var default_values = { a:"", b:"", c:""}; var current_data = { resetData: function() { $.extend( current_data, default_values ); } }; current_data.resetData(); return current_data; }]);
-
看起来它会起作用,但是我将在 mainFcty 中的哪个值也写入数据,我将如何做呢?目前我这样写给 mainFcty:- mainFcty.a = "HelloWorld";会不会是这样的:- mainFcty.currentData.a = "helloWorld";感谢您到目前为止的帮助:)
标签: javascript angularjs service factory