Backbone路由器的用途是什么?没有它,我们不能做同样的事情吗?使用路由器,单击链接将更改页面的URL,URL的最后几位将触发一个功能。为什么不在此链接上分配点击事件并在那里触发一个功能呢?
答案 0 :(得分:0)
我没有特别使用骨干,(相反,我在我的项目中使用铁路由器)但它的目的是将URL路由到页面。请考虑以下事项:您的网站源代码中有50个链接都指向/ awesomePlace(提供awesomePlace.html)。你已经决定awesomePlace不再那么棒了,并宣称有一个更多的AwesomePlace.html。您可以进入并将这50个链接中的每一个更改为/ moreAwesomePlace,或者您可以更改路线一次。然后,只要有人访问/ awesomePlace,路由器就可以提供更多的AwesomePlace.html。
这只是一个例子。我个人没有花太多时间在路由器上,但我相信有人可以提供一些比我更好的例子。希望这有助于解释一些事情。
答案 1 :(得分:0)
是的,我们可以在没有路由器的情况下实现相同的功能,路由器只是一个辅助工具,就像JQuery for DOM操作一样。使用路由器的原因在于可扩展性和灵活性。如果你按照“点击做一些事情”,它不会扩展。在单页面应用程序中,每次单击都可能有多个处理程序。单击项目可能需要更改多个小部件。使用路由器,您可以为同一次点击添加/删除挂钩。并且将来如果你想改变路由器或钩子的实现,你可以自由地做到这一点,只有你需要确保合同btw这两个保持不变。