【问题标题】:Backbone.JS or Marionette.JS Routing without hash change dependencyBackbone.JS 或 Marionette.JS 无哈希更改依赖的路由
【发布时间】:2014-12-17 11:48:35
【问题描述】:

我想开始使用 JavaScript 框架 - 我想尝试 Backbone 或 Marionette,因为它非常模块化和灵活(据我所知)。

目前唯一困扰我的是它们似乎都依赖于通过哈希更改进行路由。这不是我可以使用的,因为我有一个严格的 URL 结构。

有没有简单的方法来改变它?就像 Underscore.JS 中的模板标签一样——还是更棘手一些?

我遇到的一个问题是我使用 Node.js,这是在 Apache 上设置的传统服务器(以防答案依赖于 Node)。

我看到/阅读/观看/关注的每个示例/教程都取决于哈希更改,因为它们是单页网络应用程序。这是Backbone和Marionette的设计吗?我可以处理没有页面刷新 - 但需要将 URL 更改为传统的 MVC 样式

【问题讨论】:

  • need the URL's to change to traditional MVC style ones。只是提醒一下,但 MVC 与 URL 无关。我假设您指的是一个“漂亮的 URL”,它通常由使用 RESTful API 的 MVC 框架实现。使用 MVC 框架时,很可能会出现长而丑陋的 URL。

标签: javascript backbone.js url-routing marionette hashchange


【解决方案1】:

您需要启用pushState。而且它只适用于现代浏览器

Backbone.history.start({pushState: true})

Backbone.RouterBackbone.History

【讨论】:

  • this 会不会帮助支持将 pushState 设置为 true 的旧版浏览器?只是一个想法。我不知道如何集成它!
猜你喜欢
  • 2013-08-16
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
相关资源
最近更新 更多