设置
我有一个 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 插件都在用户点击的任何给定页面上运行,无论他们跳转了多少次。