我的VueJS应用程序适用于组件。登录工作正常。在我的一个组件中,我有一个检查用户权限的功能:
checkPermissionOnRoute () {
alert('ddd')
console.log(this.$auth.user().permission)
console.log(this.$router)
if (this.$route.meta.permission) {
if (!this.$auth.user().permission || !this.$route.meta.permission.includes(this.$auth.user().permission)) {
console.log(this.$auth.user())
console.log(this.$auth.user().permission)
console.log(this.$route.meta.permission)
console.log('ssrrver')
this.$router.replace('/server-error')
}
}
},
在组成中我添加了这个:
created () {
this.getUserPermission()
this.checkPermissionOnRoute()
},
watch: {
'$route': 'checkPermissionOnRoute',
}
因此,每次组件更改时,都会检查权限。如果错了,它会重定向到另一个页面。 该组件也位于顶部: 但是,如果我重新加载页面,我可以记录用户,数据在那里。 但是如果我尝试记录这个。$ auth.user()。权限,在页面重新加载后它总是为false。如果我在SPA中导航它可以正常工作。 奇怪的是在我记录的函数中:
的console.log(此。$ auth.user()) 的console.log(此。$ auth.user()。许可)
并且第一个日志具有权限字段。但是比第二个日志说错了吗?