turbo:load事件不会在turbo访问之后触发(正如文档所说的那样)。它的工作方式,如预期后,最初的满页加载。我可以捕获“turbo:response”事件,但对于turbo:load,:render,:frame,:frame,我没有运气。
我的turbo_stream请求是格式化TURBO_STREAM来销毁附件。控制器响应是
respond_to do |format|
format.turbo_stream do
render 'attachments/delete_document',
locals: { target: "docs-list-#{img.id}" }
end
end我正在返回两个turbo流,它们的更新和删除操作按预期工作:
<turbo-stream action="remove" target="<%= target %>">
<template></template>
</turbo-stream>
<turbo-stream action="update" target="flash_messages">
<template>
<%= render partial: 'layouts/flash', formats: :html,
locals: { type: :notice,
message: 'Attachment removed.' } %>
</template>
</turbo-stream>(注:这是另一个帖子的颠簸。这里提出的解决方案在我的情况下行不通,因为完整的属性只存在于HTML img元素。)(我在Rails 7.0.1中使用@hotw毛/turbo@^7.1.0、@hotwired/turbo-rails@^7.1.1 )
发布于 2022-05-05 18:50:08
我用turbo:render事件解决了这个问题:
document.addEventListener('DOMContentLoaded', startFrontController)
document.addEventListener('turbo:render', startFrontController)
function startFrontController(event) {
document.removeEventListener('DOMContentLoaded', startFrontController)
new FrontController().start()
}https://stackoverflow.com/questions/71042588
复制相似问题