如何解决在nuxt中装入任何页面后触发功能
是否可以在挂载任何页面后使用Nuxt编写中间件来触发。
如果我使用以下中间件
export default function ({ app }) {
if (!process.server) {
app.$somePluginFunction()
}
}
在导航到该页面时(因此在安装之前)会被触发。那不是我想要的。
我也知道您可以在单个页面上使用mounted()
钩子,这是我想要的,但是我不想在应用程序中的每个页面上手动编写相同的mounted()
钩子。我该怎么办?
解决方法
有很多方法可以在更改路由之前触发功能:
首次使用默认布局
// layout/default.vue
export default {
watch: {
$route () {
console.log('route changed',this.$route)
}
},}
在路线之前的第二次使用:
https://router.vuejs.org/guide/advanced/navigation-guards.html#in-component-guards
router.beforeEach((to,from,next) => {
if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })
else next()
})
第三个类似这样的写插件:
how to write global router-function in nuxt.js
然后这样写mixin:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。