Rails Turbo 框架响应未触发 turbo:load
Rails turbo frame response not firing 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。
我有一个使用 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。