我正在学习backbone.js 为现有的网络应用程序添加一些交互性。在初始页面加载时,我使用文档中建议reset()
的方法将一些初始数据引导到页面中。这很好用。我还可以创建新的模型实例,视图会按照我的预期处理它们;它们与初始数据一起出现,一切都很好。(新数据也可以很好地访问数据库。)
但是,如果我点击一个指向不同页面的链接(不使用主干路由或其他任何东西,只是一个普通链接)然后点击浏览器的后退按钮,我之前创建的新模型就消失了;只显示旧的初始数据。我做了一些调试,发现reset()
每次加载页面时都会运行该方法,所以大概这就是我添加的额外数据的原因。(但是,如果我真的刷新页面,新数据将再次显示,因为现在它也被引导了。)
我知道我可以fetch()
用来获取新添加的数据(以及旧数据),但我试图避免这种情况,因为(a)这是每次加载页面时的额外请求,以及(b)因为文档说这并不理想。
那么,我应该怎么做才能使用后退按钮不会使东西(暂时)消失?