如何解决Rails turbo 框架响应不触发 turbo:load
我有一个使用 Turbo 的标准内联编辑,它将 show
视图的 Turbo 框架替换为 _form
中的 Turbo 框架。但在这种情况下,$(document).on "turbo:load",->
事件不会触发。
我没有看到应该使用 another event。任何想法如何在替换涡轮帧的响应上运行 js? (例如在表单中初始化日期选择器)
解决方法
当框架加载仍在构建中时触发的事件:https://github.com/hotwired/turbo/pull/59
我们目前仅有的事件是 turbo:before-fetch-request
和 turbo:before-fetch-response
,它们在每次 Turbo 更改帧或导航页面时在 document
级别触发。框架的内容不会在事件触发时加载,但它允许您潜在地使用框架的 loaded
属性来连接在框架加载时运行的承诺。>
$(document).on("turbo:before-fetch-response",(e) ->
frame = document.getElementById("myFrame")
# Frame has finished loading
if frame.complete
#run my code
else
# Frame is still loading,run this code when it finishes
frame.loaded.then () ->
# run my code
否则,您可以编写一个 Stimulus 控制器来包装您的日期选择器初始化,这样您就不必注意它进出 DOM。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。