我有一个页面显示嵌入式表格仪表板,在同一页上有一个下拉列表,用户可以使用该下拉列表加载不同的仪表板,单击下拉选项,我称之为Turbolinks.visit(url, {action: 'replace'})。
步骤1:当用户第一次打开仪表板时,链接将是https://www.example.com/dashboards/56
步骤2:用户单击下拉列表中的一个下拉选项“我的自定义视图”,Turbolinks.visit执行,url将为https://www.example.com/dashboards/56?filter_id=12。
步骤3:用户现在可以与仪表板交互应用不同的筛选器,这将产生一个与第2步的视图完全不同的视图,但这不会改变,而是更改视图。
步骤4:用户现在再次尝试单击下拉选项"My“,以返回到早期版本的视图,但是Turbolinks.visit没有打开该URL,因为URL没有更改。
我的问题是,如何强迫Turbolink.visit(url, {action: replace})总是访问页面,即使它在同一页上?
在这方面任何帮助都会很好。
更新1:我需要使用Turbolinks重新加载相同的页面。如果我提供相同的页面url,Turbolink.visit不会触发,如果我提供不同的url,它也会工作。
如何使用Turbolinks.visit访问/重新加载相同的页面。
发布于 2020-09-17 11:17:01
它正常工作,我有下面的代码来防止在同一个页面上重新加载
$(document).on('turbolinks:before-visit', function(event) {
if (event.originalEvent.data.url == window.location.href) {
event.preventDefault();
}
});https://stackoverflow.com/questions/59308183
复制相似问题