我正在学习backbone.js,为现有的网络应用添加一些互动性。在初始页面加载时,我使用reset()
方法suggested in the docs将一些初始数据引导到页面中。这非常有效。我也可以创建新的模型实例,视图就像我期望的那样处理它们;它们与初始数据一起出现,一切都很好。 (新数据也很好地击中了数据库。)
但是,如果我点击指向其他页面的链接(不使用骨干路径或任何东西,只是普通链接)然后点击浏览器的后退按钮,我之前创建的新模型就不见了;只显示旧的初始数据。我已经完成了一些调试,发现每次加载页面时都会运行reset()
方法,所以大概就是我添加的附加数据。 (但是,如果我实际上刷新页面,新数据将再次显示,因为现在它也正在被引导。)
我知道我可以使用fetch()
来获取新添加的数据(以及旧数据),但我试图避免这种情况,因为(a)每次页面都是额外的请求已加载,(b)因为文档说这不理想。
那么,我应该怎么做才能使用后退按钮不会让东西(暂时)消失?
答案 0 :(得分:0)
页面加载模型,视图,集合和路由器。通过reset
(引导)将页面设置为集合。用户单击链接以导航到另一个页面,单击后退按钮。现在发生了一些有趣的事情,
collection.fetch()
。