我有一个页面,我们在其中显示嵌入式表格仪表板,在同一页面上有一个下拉列表,用户可以使用该下拉列表加载不同的仪表板,单击下拉选项时我调用 Turbolinks.visit(url, {action : '替换'})
第 1 步:用户第一次打开仪表板时,链接将是 https://www.example.com/dashboards/56
第 2 步:用户单击下拉列表中的“我的自定义 View ”下拉选项之一,Turbolinks.visit
执行,网址将为 https://www.example.com/dashboards/56?filter_id=12
第 3 步:用户现在可以与仪表板进行交互,应用不同的过滤器,这会产生与第 2 步的结果完全不同的 View ,但这不会更改 URL但改变了 View
第 4 步:用户现在尝试再次单击下拉选项“我的自定义 View ”以返回到早期版本的 View ,但 Turbolinks.visit
无法打开该 URL,因为该 URL 没有打开改变
我的问题是如何强制 Turbolink.visit(url, {action: Replace})
始终访问该页面,即使它位于同一页面上?
任何帮助都会很棒。
更新 1:我需要使用 Turbolinks 重新加载同一页面。如果我提供相同的页面 url,Turbolink.visit 不会触发,如果我提供不同的 url,它会起作用。
我如何使用 Turbolinks.visit 访问/重新加载同一页面。
最佳答案
它按预期工作,我有以下代码阻止在同一页面上重新加载
$(document).on('turbolinks:before-visit', function(event) {
if (event.originalEvent.data.url == window.location.href) {
event.preventDefault();
}
});
关于ruby - Turbolinks.visit 未在同一页面上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59308183/