是否有任何界面可以手动设置骨干模型不变?

时间:2015-03-28 07:37:16

标签: javascript backbone.js model

我正在开发基于backbone的SPA应用,最近我遇到了一个问题。

假设共有2页:第一页是type页面,用户可以选择填写一种不同的表格,第二页是用户的form页面可以在此页面填写他们的信息。我使用backbone's router将其设为SPA。

form页面中,如果用户想要更改表单类型,他/她可以点击previous页面中的form按钮返回{{1页面。但是在页面真的被跳之前,我想确保如果type模型已被更改,我会提醒用户提醒用户在跳转到info页面之前保存他们的信息。每次用户点击type按钮时,我都会调用info模型的hasChanged方法。

现在,页面跳转到previous页面,用户选择了其他类型,然后再次转到type页面。

现在是时候,在用户填写任何信息之前,如果用户再次点击info按钮,我的代码将检查模型的previous方法。自从用户填充第一个类型的表单信息的第一步以来,模型的hasChanged方法将始终返回true。那么每次加载第二页(hasChanged页面)时,如何重置模型的更改标志(如果有的话)?

只需将模型的info属性设置为空对象?我不认为这是正确的方法。谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

为什么单一模型用于两种不同的形式?如果它们包含相同的数据,为什么有两种不同我会说你必须为你的表单创建两种不同类型的模型。如果你仍然认为共享相同的东西,那么创建两个模型实例并将它们与表单相关联。

我认为没有干净的方法可以使用相同的模型实例。