ruby-on-rails 轨道中的涡轮链节

2ekbmq32  于 2023-06-07  发布在  Ruby
关注(0)|答案(1)|浏览(189)

最近,我一直在阅读有关turbolinks,这是不赞成的,但一个人应该有一个适当的知识。我读到过turbolinks用当前页面的主体替换所请求页面的主体,并合并头部。主要的速度来自于不必重新加载资源,如js或css文件,这些文件存在于请求页面和当前页面的头部,并且是相同的。我的困惑是,一些老年人说,涡轮不取代身体,而是它取代了身体的部分。如果有一个完整的身体交换,那么它几乎是相同的,即使你是发送一个普通的请求,而不是 AJAX 。现在我很困惑。请给予您的专业意见,关于工作流程的涡轮。

g6baxovj

g6baxovj1#

默认情况下,在渲染期间,Turbolinks完全替换当前的<body>元素,并合并<head>元素的内容。JavaScript窗口和文档对象,以及HTML <html>元素,从一个呈现持续到下一个呈现
然而,Turbolinks通过data-turbolinks-permanent注解有“永久”元素的概念。将此注解放置在任何具有ID的元素上,可以使该元素在页面更改时保持不变
永久性元素在页面加载过程中保持不变,因此在导航后不需要重新应用对这些元素所做的任何更改
通过给它们一个HTML id并用data-turbolinks-permanent注解它们来指定永久元素

<div id="cart-counter" data-turbolinks-permanent>1 item</div>

在每次呈现之前,Turbolinks通过id匹配所有永久元素,并将它们从原始页面传输到新页面,保留它们的数据和事件侦听器

相关问题