Я использую Stimulus with Turbolinks и мне нужно динамически импортировать много js в контроллеры.
Код, который я использую в main.js
:
window.Turbolinks.start()
window.application = window.Stimulus.Application.start()
const IsPreviewPage = () => document.documentElement.hasAttribute('data-turbolinks-preview')
const divID = 'about_graphic'
window.application.register("about", class extends window.Stimulus.Controller {
async initialize () {
console.log("About, initialize()")
if (IsPreviewPage()) {
return
}
const aboutD3 = await import("./about.js")
aboutD3.loadChart()
}
})
ПРОБЛЕМА
Если я впервые прихожу к /about
, когда появляется диаграмма.
Затем я перехожу к /index
.
Когда я возвращаюсь на страницу /about
, диаграмма d3
перезагружается сама собой (вы можете увидеть мигание после страницы предварительного просмотра с помощью turbolinks).
Как мне избежать перезагрузки?
В этом я не использую динамический импорт, и он не перезагружается: https://glitch.com/edit/#!/mud-shop