将元内容转换为 json?

Convert meta content to json?

我正在使用 laravel 的 sanctum auth,我想在 vue 的全局组件中使用用户信息,但它被存储为一个字符串,我无法轻松访问数据...

将用户添加到页眉:

<meta name="user" content="{{ Auth::user('sanctum') }}">

将内容存储到原型中:

Vue.prototype.$user = document.querySelector("meta[name='user']").getAttribute('content');

但问题是它只是一个字符串:

所以像这样获取 ID 或任何其他数据:

console.log(this.$user.id);

不起作用

有什么办法可以解决这个问题?

您必须使用 JSON.parse() 将字符串解析为 JSON 对象 更改此行: Vue.prototype.$user = document.querySelector("meta[name='user']").getAttribute('content')

至:

Vue.prototype.$user = JSON.parse(document.querySelector("meta[name='user']").getAttribute('content'))