如何禁用主干历史记录但仍允许基于哈希的路由?

2024-01-12

假设我执行以下操作:

  • 单击主页 (/) 上的链接并转到 /posts/1
  • 触发事件并前往主干路由 /posts/1/#/1/edit
  • 我点击返回

我需要这样做,以便用户最终回到主页 (/),而不是回到 /posts/1

所以我需要允许骨干哈希路由工作但不修改历史记录。 我个人更喜欢保留历史记录,但这是项目的要求。


最新版本的 Backbone (0.9.x) 能够触发路由,但不能将其添加到历史记录中。

See 主干网.路由器#navigate http://backbonejs.org/#Router-navigate对于替换:true 选项。

基本上,只需使用触发器在路由器上调用 .navigate:true (以触发路由)并替换:true (以防止其进入历史记录)

app.navigate('posts/1/edit',{trigger:true, replace: true});

这是一个 jsfiddle 显示它的实际效果:http://jsfiddle.net/7Z6ju/1/ http://jsfiddle.net/7Z6ju/1/

  • 点击“帖子1”进入帖子1页面。
  • 然后,点击“编辑”进入 编辑页面。
  • 然后,点击后退按钮 - 您应该最终会返回 家。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用主干历史记录但仍允许基于哈希的路由? 的相关文章

  • Backbone js 并使用 fetch() 用数据填充模型

    我正在 Backbone js 中工作 并尝试使用 fetch 用数据填充模型 问题是提取似乎有效 但我的模型没有填充数据 代码片段 Backbone emulateHTTP true Backbone emulateJSON true C
  • 渐进增强 - Node.js、Backbone.js

    Node js 服务器有两个角色 前缀为 api 的路由上的 RESTFul API 在其他路线上呈现网站页面 plans features terms 目前 我的所有页面都会呈现一个 正在加载页面 并与 Backbone router 启
  • 如何在执行路由方法之前运行“中间件”函数?

    假设我有一个主干路由器 例如 routes homepage catalog id catalogPage catalog id products id2 productPage homepage gt doStuff catalogPag
  • 对周围的所有 Node JS 框架/库等感到困惑 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我感觉有点困惑 有很多 Node js 相关 东西 的框架 有人能给我一个概述吗 以下库 框架 其他内容如何相互关联 交互 其中包括什么或
  • 动态 dom 操作后,如何在浏览器历史记录中保留 dom 状态?

    是否有一个通用的解决方案来保留 dom 状态 以便当用户使用后退 前进返回页面时 整个页面处于他们离开时的确切状态 这篇文章询问并回答了为什么不同浏览器和不同 javascript 库的行为不一致 Ajax 后退按钮和 DOM 更新 htt
  • Backbone Marionette CompositeView 排序列表 - 在添加时呈现额外的模型

    这是小提琴 http jsfiddle net QhQ8D 10 http jsfiddle net QhQ8D 10 代码在下面 制作一个聊天应用程序 需要一个排序的 连接的用户列表 名称上带有比较器的图形集合连接到 CompositeV
  • 如何克隆骨干集合

    有没有办法轻松克隆 Backbone Collection 我想知道为什么没有像模型那样的内置方法 我的问题是我有一个模型包含一组孩子 当我克隆模型时 我仍然有子项的集合 但只有它们的默认值 最简单的方法 var cloned new Ba
  • 主干关系事件未触发?

    class TheModel extends Backbone RelationalModel relations type Backbone HasMany key subModels relatedModel SubModel coll
  • Backbone Collection 和 Marionette CompositeView 中未定义的模型原型

    尝试从值列表填充集合时 我收到有关集合的错误model s prototype未定义 看着这个问题是关于类似问题的 https stackoverflow com q 16126195 1663942 我已经检查过模型确实已创建before
  • 渲染闭合的 Marionette 视图

    关闭的 Marionette 视图在再次渲染时不应该重新委托定义的事件 事件 modelEvents CollectionEvents 吗 似乎我必须在关闭并重新渲染视图后手动调用 delegateEvents 否则视图将无法按预期工作 h
  • 如何提取 Backbone 集合的属性

    我想从 Backbone 集合创建一个特定属性值的数组 var days select this collection models function model return model attributes type session d
  • 如何检查侧边栏视图是否已经在主干中渲染?

    通常 用户通过主页进入网站 然后我在那里渲染侧边栏视图 接下来 用户单击链接 路由器呈现另一个视图并替换原始内容视图 侧边栏视图不会重新渲染 当用户在子页面上单击刷新时 侧边栏不会呈现 如何检查视图是否存在并且已渲染 划分责任并坚持下去 不
  • History.replaceState 仍然向“浏览历史记录”添加条目

    具体来说 调用以下代码片段 history replaceState undefined undefined value 正确地不会影响当前页面的后退按钮行为 但是will在 浏览历史记录 页面添加一个条目 这是我不想要的 下图是 Chro
  • 主干模型 ID 和点击事件

    好吧 我要在这里屈服并寻求帮助 我认为我遇到了多个问题 并且不确定最好的方法 我正在使用handlebars 创建一个 li 的 ul 它是我的骨干模型的 json 对象 现在模板可以工作了 我想单击即可将模型添加到另一个集合中 我的第一个
  • backbone.js:视图中影响集合中不同模型的按钮

    我刚刚开始使用backbone js 到目前为止 我真的很喜欢它 我有这样的事情 ModelA ModelB ViewA ViewB ModelA 持有 ModelB 的集合 如何使用按钮构建模型 B 的视图 单击该按钮会更改集合中下一个
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 Backbone 模型和集合保存到 JSON 字符串

    我在将 Backbone Model 或 Backbone Collection 对象保存到本地存储时遇到问题 问题是 当它保存时 只有属性被保存 我不希望这样 我实际上正在使用他们的示例 TODO 演示中提供的主干本地存储 这是他们的保存
  • 组织 jQuery/JavaScript 代码的最佳方式 (2013) [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 问题 这个答案之前已经回答过 但已经
  • 忽略下划线模板中未定义的数据/变量

    仍在学习骨干 所以请耐心等待 我正在尝试向视图添加一个带有空白字段的新模型 但我创建的模板有一大堆
  • 在 JSON 对象中存储和发送原始文件数据

    我正在寻找一种方法来传输任何文件类型的原始文件数据和任何可能的内容 我的意思是文件和文件内容都是用户生成的 在 Backbone 前端中使用 xhr ajax 调用两种方式针对 Django 后端 编辑 也许问题仍然不清楚 如果您在 IDE

随机推荐

  • Electron js Electron builder mac 构建在运行时打开空白屏幕,而在使用 npm start 运行时在开发中完美运行

    我已经在 Windows 和 ubuntu 中创建了内置应用程序 该应用程序运行正常 但是当在 mac 中构建时 构建已成功创建 但它只显示白色空白屏幕 没有渲染 html 页面 而当使用 npm start 运行时 它运行得很好 我只有
  • 检查变量是否为整数[重复]

    这个问题在这里已经有答案了 如何检查变量是否为整数 如果您需要这样做 请执行 isinstance
  • React Native导入包仅在Android上

    我正在尝试仅在 Android 上导入一个包 这里是任何人都知道这是否可能的包 import ProcessingManager from react native video processing 你有两种方法 第一种方式 您可以通过创建
  • SerialDevice.FromIdAsync() 产生一个空串行端口

    当尝试连接到串行端口时 我的代码发生了一些奇怪的情况 使用时系列样品 https developer microsoft com en us windows iot win10 samples serialsample 一切正常 第一次尝试
  • 电平与边缘触发网络事件机制

    对于边缘或电平触发的某些网络事件机制 即 epoll poll select 意味着什么 简而言之 边缘触发意味着只有在检测到事件时您才会收到通知 从概念上讲 事件发生在瞬间 而电平触发意味着每当事件存在时您就会收到通知 这将是真实的 一段
  • AbortController.abort(reason),但是reason在到达fetch catch子句之前就丢失了

    我正在实施可中止的获取调用 https developer mozilla org en US docs Web API AbortController abort 中止我的页面上的提取基本上有两个原因 用户决定不再等待 AJAX 数据并单
  • mysql 连接一列中的多个值

    我需要进行一个查询 创建来自 2 个表的 3 列 这些表具有以下关系 表 1 的列 ID 与表 2 的列 ID2 相关 在表 1 中有一个名为 user 的列 在表 2 中有一个名为名称的列 可以有 1 个唯一用户 但可以有多个与该用户关联
  • ngram 的 dict 函数

    我有这样的文字 library dplyr glimpse text chr 1 11 Welcome to Wikipedia bla Discover Ekopedia the practical encyclopedia about
  • MKPolylineRenderer 上的两条彩色/自定义线

    我正在画 x 条线MKMapView 数据是从网络服务下载的 对于每条需要绘制的线 我正在创建一个MKPolyline 将其添加到overlayArray 某些叠加层有多个折线 最后通过以下方式将该叠加层添加到地图中 self mapVie
  • .Value = "" 和 .ClearContents 之间有什么区别?

    如果我运行以下代码 Sub Test 1 Cells 1 1 ClearContents Cells 2 1 Value End Sub 当我使用公式检查 Cells 1 1 和 Cells 2 1 时ISBLANK 两个结果都返回TRUE
  • 指定的解决方案配置“最新|任何 CPU”无效

    我在 Jenkins 中运行的 MSBuild 脚本遇到此错误 C
  • 将 HTML 导出到 Excel 的单元格背景颜色

    我正在尝试将 HTML 表导出到 Excel 但我无法通过 CSS 设置单元格的背景颜色 我尝试过 Response Write 但这对我的输出没有影响 单元格颜色是否有一些 mso css 属性 尝试使用类似的东西
  • 在 Android 中编写许多 HTTP 请求的良好设计模式

    在我的应用程序中 我有很多 GET POST PUT 请求 现在 我有一个单例类来保存我下载的数据 并且有许多扩展 AsyncTask 的内部类 在我的单例类中 我还有一些这样的接口 Handlers for notifying liste
  • IMagick 检查图像亮度

    我需要能够在图像内自动写入一些文本 根据图像亮度 脚本必须用白色或黑色书写 那么如何使用 Imagick 检查图像的亮度 暗度呢 你可以这样做 Load the image imagick new Imagick image jpg con
  • Django/Python:了解 super 在函数中的使用方式

    我刚刚开始思考什么super以及它是如何在 Django 中基于视图的类中实现的 我试图了解 super 在以下代码中是如何工作的 有人可以尝试为我一点一点地分解它吗 from django views generic detail imp
  • Bash 忽略特定命令的错误

    我正在使用以下选项 set o pipefail set e 在 bash 脚本中 出现错误时停止执行 我有大约 100 行脚本正在执行 我不想检查脚本中每一行的返回代码 但对于一个特定的命令 我想忽略该错误 我怎样才能做到这一点 解决方案
  • 从 SearchView 更改片段提交又名级联到后台堆栈

    我目前正在使用SearchView对象 以便为我的应用程序提供建议输入的功能 然而 这个小部件在提交时使用intent filter开始您的搜索 当我的应用程序在手机上运行时 这非常棒 因为我想做的是启动搜索结果Activity显示响应 H
  • Devise - 如果帐户未确认,则重定向到页面

    如果用户的帐户尚未得到确认 我会尝试重定向用户 所以这涉及到两部分代码 首次创建帐户后重定向用户 如果他们在确认帐户之前尝试登录 请重定向他们 我需要第二个方面的帮助 我首先能够通过放入after inactive sign up path
  • Maven 编译器插件

    我知道默认的 Maven 编译器插件绑定到 compile 测试编译 生命周期 一般在不指定附加配置的情况下 我们不必 在我们的 POM 中明确定义它 但我仍然看到经验丰富的开发人员将诸如 这在他们的 POM 中 例如
  • 如何禁用主干历史记录但仍允许基于哈希的路由?

    假设我执行以下操作 单击主页 上的链接并转到 posts 1 触发事件并前往主干路由 posts 1 1 edit 我点击返回 我需要这样做 以便用户最终回到主页 而不是回到 posts 1 所以我需要允许骨干哈希路由工作但不修改历史记录