更改路由时jQuery在vue组件中不起作用
Posted
技术标签:
【中文标题】更改路由时jQuery在vue组件中不起作用【英文标题】:jQuery not working in vue component when change route 【发布时间】:2021-01-11 02:34:24 【问题描述】:我有一个问题,jQuery 脚本文件不能在 vue 组件内工作,但它在它之外工作,我找到了一个解决方案,将所有脚本文件放在 vue 组件内的脚本部分,但我对每个页面都使用此代码。
注意 : jQuery 文件在组件第一次加载时运行,但是当使用vue-router
切换到另一个路由时会出现问题。
该问题的任何解决方案?
【问题讨论】:
Vue 是否可以访问 jQuery?它是否与其他组件一起使用?还是在 Vue 中根本不可用? @selfagency jQuery 在组件外部运行良好,但在组件内部只有在直接进入指定路线时才能工作,并且在更改路线时不起作用。 如果您在两条路由上使用相同的组件,您可能正在利用组件的可重用性,因此该组件只安装一次,脚本只触发一次。您可以使用路由器组件中的 :key 属性来强制在每次路由更改时重新渲染组件:你能写一个示例使用区域吗? 当这种情况发生在我身上时,我通常通过在 app.vue 文件的挂载区域中使用一个短的 setTimeOut 来解决它。但我必须看看你的例子。 例如;
methods:
jqueryFunction: function ()
//your jquery codes
,
,
mounted()
setTimeout(function (evt)
this.jqueryFunction();
.bind(this), 3000);
,
【讨论】:
我认为这种方法在我想使用一次代码时有效,但就我而言,我想在 SPA 中的所有组件上使用该代码。以上是关于更改路由时jQuery在vue组件中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Laravel-vuejs(Vue 路由器)Javascript 在 onchange url 中不起作用