更改路由时jQuery在vue组件中不工作

更改路由时jQuery在vue组件中不工作,jquery,laravel,vue.js,vue-component,vue-router,Jquery,Laravel,Vue.js,Vue Component,Vue Router,我有一个问题,jQuery脚本文件在vue组件内部不工作,但在vue组件外部工作,我找到了一个解决方案,将所有脚本文件放在vue组件内部的脚本部分,但我在每个页面上都使用此代码。 注意:jQuery文件在第一次加载组件时运行,但在使用vue路由器切换到另一个路由时会出现问题 这个问题有什么解决方案吗?你能写一个使用区域的例子吗。 当这种情况发生在我身上时,我通常通过在app.vue文件的挂载区域使用一个短的setTimeOut来解决它。但我必须看看你的例子。 比如, methods: {

我有一个问题,jQuery脚本文件在vue组件内部不工作,但在vue组件外部工作,我找到了一个解决方案,将所有脚本文件放在vue组件内部的脚本部分,但我在每个页面上都使用此代码。 注意:jQuery文件在第一次加载组件时运行,但在使用
vue路由器
切换到另一个路由时会出现问题


这个问题有什么解决方案吗?

你能写一个使用区域的例子吗。 当这种情况发生在我身上时,我通常通过在app.vue文件的挂载区域使用一个短的setTimeOut来解决它。但我必须看看你的例子。 比如,

 methods: {
      
        jqueryFunction: function () {
            //your jquery codes
        },

    },

mounted() {
        setTimeout(function (evt) {
            this.jqueryFunction();
        }.bind(this), 3000);
    },

我认为当我想使用一次代码时,这种方法是有效的,但在我的例子中,我想在SPA中的所有组件上使用代码。Vue有权访问jQuery吗?它与其他组件一起工作吗?或者它在Vue中根本不可用?@selfagency jQuery在组件外部运行良好,但在组件内部仅在直接转到指定路由时工作,并且在更改路由时不起作用。如果在两个路由上使用相同的组件,则可能是在利用组件的可重用性,因此,组件只装载一次,脚本只触发一次。您可以在路由器组件中使用:key属性强制在每次路由更改时重新呈现组件:当然,除了反应性之外,您将失去Vue JS最重要的优势,即可重用性。