我正在构建一个相当复杂的Backbone.js应用程序。来自Rails背景,我试图找出何时适合触发路由(以及使用true选项的函数),以及何时只更改应用程序状态而不影响url。
似乎很大程度上依赖于路由器将是一个很好的方向,因为我可以轻松地将应用程序启动到我想要的任何状态。对此有什么最佳做法吗?当我开始依赖导航方法时,我注意到我的观点被重复了。
答案 0 :(得分:2)
这实际上取决于具体情况。
您通常希望在状态实际 您希望能够添加书签/共享内容时使用路线。
另一方面,如果您只是在视图中更新某些内容并且它不是您需要检索状态的东西 - 只需更改它。但是,您可以为州的路线提供选项,但不要求它。例如,如果您的应用涉及地图 - 您可能不希望每次用户平移/缩放地图时更新位置/路线,但为“共享”或“书签”类型提供按钮可能是个好主意功能。
答案 1 :(得分:1)
如上所述Jsonwyatt。他的陈述"这实际上取决于情况"是正确的。像状态改变或状态操纵这样的东西通常是我喜欢的通过视图。但是在例如我实际浏览任何导航网址的情况下,我更喜欢通过骨干路由器呈现/home/foo
之类的内容。
但是当你实际上只是说明更新模型时的模型状态更改。您可以执行model.save()
而不是通过类似于/home/student/1
的网址来驱动,这会不必要地渲染另一个视图。但这可能会导致您渲染另一个视图,而这些视图只能在您当前视图中完成。
作为参考,Darik bailey就应用程序状态和路由器导航以及维护浏览器历史状态进行了非常好的讨论。作为参考,您可以浏览此链接。