Javascript Nuxt.js:Global mixin仅在服务器端工作

Javascript Nuxt.js:Global mixin仅在服务器端工作,javascript,vue.js,nuxt.js,Javascript,Vue.js,Nuxt.js,我正在使用Nuxt.js创建一个应用程序。我有一个函数需要在我的应用程序中大量使用,名为isAuthneticated。功能如下: ~/mixins/auth.js 导出默认值{ 计算:{ 未经验证(){ //确保用户已登录 if(此.$store.state.auth.user){ this.user=this.$store.state.auth.user 返回真值 }否则{ 返回错误 } } }, } 正如您所看到的,我正在将其作为计算属性导出到另一个文件,该文件将其注册为全局mixin

我正在使用Nuxt.js创建一个应用程序。我有一个函数需要在我的应用程序中大量使用,名为
isAuthneticated
。功能如下:

~/mixins/auth.js


导出默认值{
计算:{
未经验证(){
//确保用户已登录
if(此.$store.state.auth.user){
this.user=this.$store.state.auth.user
返回真值
}否则{
返回错误
}
}
},
}
正如您所看到的,我正在将其作为计算属性导出到另一个文件,该文件将其注册为全局mixin,下面是该文件的代码:

~/plugins/mixins.js

从“Vue”导入Vue
从“~/mixins/auth”导入身份验证
Vue.mixin(身份验证)
我使用
numxt.config.js
注册了这个插件:

plugins:['~/plugins/mixins']
现在,如果我尝试在模板中使用
isAuthenticated
,则在浏览器控制台中会出现以下错误:

属性或方法“isAuthenticated”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保此属性在数据选项或基于类的组件中是被动的。
但是如果我在mixin对象上使用
created
钩子并记录一些东西,它会成功地记录在终端中,而不是控制台中,因为
created
在服务器端运行

我的问题是:为什么这不起作用?为什么
未经验证
未定义

任何帮助都将不胜感激

编辑1: 这是尝试使用此计算属性的组件的代码:


注册
登录

我在本地系统上尝试了这个。它起作用了。您能否共享文件夹结构以及使用
的组件的代码是否已验证?
?这可能与此无关,但在
上写入
v-if在VueJS中不起作用。您需要添加父级
并在其上添加您的
v-if
。您是否可以将代码推送到可以克隆的repo,或者您可以在发生这种情况的地方创建一个工作的JSFIDLE。我在本地系统上尝试了这一点。它起作用了。您能否共享文件夹结构以及使用
的组件的代码是否已验证?
?这可能与此无关,但在
上写入
v-if在VueJS中不起作用。您需要添加父级
并在其上添加您的
v-if
。您是否可以将代码推送到可以克隆的repo,或者您是否可以在发生这种情况的地方创建一个工作的JSFiddle。