0

设置

我有一个 index.html 与此类似的站点(使用路由):

<main-menu></main-menu>
<router-view></router-view>
<footer-menu><footer-menu>

我想在所有这三个组件中注册一些 jQuery 插件(来自 materialize.css 库),并让它们在用户点击站点时发挥作用。

编辑:要清楚,这不是让 jQuery 工作的问题,我已经广泛使用 jQuery,如果我按 f12 并运行初始化函数,一切正常。这里的问题是弄清楚 Vue.js 何时完成对 DOM 的干扰。

我试过的

注意: ready: function() {}不会工作,因为我正在使用路由,即使用户从家 -> 浏览 -> 家,插件也需要工作。

取自他们的文档

route: {
    activate: (transition) => {
        transition.next();
        // Plugins here
    }
}

取自这篇SO 帖子

route: {
    activate() {
        this.$nextTick(function() {
            // Plugins here
        });
    }
}

我也看过这篇文章,但是我在三个顶级组件中的每个组件中都有未知数量的组件,我认为手动注册它们并不是一个好主意

我期待发生的事情

我希望看到我所有组件中的所有 jQuery 插件都在用户点击的任何给定页面上运行,无论他们跳转了多少次。

4

0 回答 0