js代码在导航路线后停止工作而无需重新启动页面

Posted

技术标签:

【中文标题】js代码在导航路线后停止工作而无需重新启动页面【英文标题】:js the code stops working after navigating the routes without rebooting the page 【发布时间】:2018-03-10 03:02:28 【问题描述】:

我有负责选择的 js 代码。该站点无需重新加载页面即可运行(使用nuxt)。问题是如果我切换路线,那么这个选择不起作用。我该如何解决这个问题?

$(function () 
        $('.select_list_radio').on('click', function()
            var current = $(this).find('label span').text();
            $(this).parents('.select_list_wrapper').find('.select_list_current .select_list_current_item').text(current);
            $(this).parents('.select_list_wrapper').removeClass('open');
            $(this).parents('.select_list_wrapper').find('.select_list').css('display', 'block');
        );
    )

【问题讨论】:

.select_list_radio 元素不存在于DOM 中时,你是否调用了这个? @thanksd 不,第一次加载页面时,选择有效。然后,当我走上路线时,它停止工作。如果您重新加载页面,它将再次开始工作 【参考方案1】:

您绝不能对 Vuejs 管理的元素进行更改,因为 Vue 不会意识到更改,并且会继续并在下一个更新周期中覆盖它。

因此,您可以尝试将 .select_list_radio 包装到一个新组件中,或者更好的是,尝试在 Vue 中思考,然后将 jQuery 放在一边。

您可以在此链接中阅读如何安全地将 jQuery 与 Vuejs 一起使用:https://vuejsdevelopers.com/2017/05/20/vue-js-safely-jquery-plugin/

【讨论】:

以上是关于js代码在导航路线后停止工作而无需重新启动页面的主要内容,如果未能解决你的问题,请参考以下文章

如何更新jboss EAP -6.2中的JSP / JS而无需重新启动或重新部署构建

将 Native App LTR 反应到 RTL 更改,而无需重新启动应用程序

在 DEB 安装后将用户添加到组而无需重新启动

尝试执行随机命令而无需重新启动机器人

Next.Js : 更改页面而不停止音频

PHP 工匠错误:每次重新启动后 CLI 停止工作