为什么我的 Stimulus JS 控制器会触发两次?

问题描述

所以,我有一个安装了 webpacker、vue、turbolinks 和刺激 js 的 Rails 应用程序。
我遇到的问题是,即使控制器只导入一次,即使我暂时禁用 turbolinks,form <- survived ~ 1 nullModel <- glm.mids(form,family = binomial(link=logit),miceData) pool(nullModel) for (i in 1:5){ add1(nullModel[[i]],form,test="LRT") } 函数initialize() 函数也会被调用两次。
这仅在我进行刷新时发生(即不是在我第一次访问页面时,而是仅在我执行页面重新加载时)。
奇怪的是,connect() 只被调用一次(当我离开页面时)

这很糟糕,因为我需要在初始化时修改 DOM,所以我添加了两次元素。 有人知道导致这种情况的原因和/或解决方案吗?

编辑:application.js 根据要求

disconnect()

组件/index.js

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")

import "stylesheets"
import "controllers"
import "components"

控制器/index.js

import Vue from 'vue/dist/vue.esm'
import BootstrapVue from 'bootstrap-vue'
import TurbolinksAdapter from 'vue-turbolinks'

Vue.use(BootstrapVue)
Vue.use(TurbolinksAdapter)

const components = {}
const context = require.context("components",true,/_component\.vue$/)
context.keys().forEach(filename => {
  const component_name = filename.replace(/^.*[\\\/]/,'').replace(/_component\.vue$/,'')
  const component = context(filename).default
  components[component_name] = component
})

document.addEventListener('turbolinks:load',() => {
  const app = new Vue({
    el: '#vueapp',mounted() {
      let input = document.querySelector('[autofocus]');
      if (input) {
        input.focus()
      }
    },components: { ...components }
  })
})

在每个文件中,如果我 import { Application } from "stimulus" import { deFinitionsFromContext } from "stimulus/webpack-helpers" const application = Application.start() const context = require.context("controllers",/_controller\.js$/) application.load(deFinitionsFromContext(context)) 它只被记录一次...
仅在刺激控制器中 console.loginitialize 被打印两次

这只会在我重新加载页面时发生,而不是在我第一次访问时发生。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...