authentication - Fetch() 中的 Nuxt 和 $auth
问题描述
我的 $auth 有问题...
在一个页面中,我必须验证 $auth.loggedIn 值。
<template>
{{ this.$auth.loggedIn }}
</template>
<script>
export default{
async fetch(){
if(this.$auth.loggedIn){
console.log('User connected')
}else{
console.log('User not connected')
}
}
}
</script>
我的模板中的第一个 $auth.loggedIn 显示为 TRUE(没关系),但我的 console.log 显示“用户未连接”...
怎么可能?看来我对 $router / $route 变量有同样的问题......
非常感谢!文森特
解决方案
fetch
在渲染路由时在服务器端调用,在导航时在客户端调用。
因此,如果它正在渲染您的路线,它会在服务器端初始化,并且由于this.$auth
仅在客户端可用,因此无法访问它。
尝试通过访问它app
async fetch ({ app }) {
if(app.$auth.loggedIn){
console.log('User connected')
}else{
console.log('User not connected')
}
}
关于参数问题,您可以访问如下:
async fetch ({ params }) {
console.log(params.id)
}
或者
async fetch ({ route}) {
console.log(route.params.id)
}
推荐阅读
- python - 为什么使用 Python 异步从文件读取和调用 API 比同步慢?
- javascript - 如果任何地方有“return”语句,Firefox 插件的内容脚本将不会运行
- python - 我如何告诉“setup.py”从我的根目录中包含用于构建发行版的文件?
- javascript - 使用 Vuejs 构建表单。将数据从孩子传递给父母
- cron - 在单个 DAG 中组合两个 cron 调度间隔
- vba - Word中不同的奇偶页眉/页脚
- spring-boot - Spring Cloud Config 无法动态更新属性
- node.js - 我在这个简单的 readline(nodeJS) 代码中缺少什么?
- javascript - 平滑滚动 Javascript 可以工作,但会弄乱烧瓶应用程序
- oracle - Oracle 11g - 在 LOOP 中将查询结果添加到 SYS_REFCURSOR