将身份验证用户获取到vuejs对象中

h6my8fg2  于 2021-06-15  发布在  Mysql
关注(0)|答案(3)|浏览(216)

我想将当前登录的用户详细信息输入到隐藏的输入字段中。所以我像这样写输入值

<input type="hidden" name="name" v-model="comment.name">
<input type="hidden" name="avatar" v-model="comment.avatar">

或者我想直接把用户信息放到我的vuejs对象中

comment: {                  
          name: '',
          avatar: '',
          user_id: '',
          comment: '',
          status: 'Approved',
          created_at: ''
        },

如何将当前登录的用户详细信息获取到此对象中。我使用这个获取方法来获取细节

axios.get("api/userdetails").then(({ data }) => (this.users.fill(data)));

这是我的控制器

return auth('api')->user();
8yoxcaq7

8yoxcaq71#

如果我理解的很好,那么this.users就是你所在州的所有用户的列表?如果这是真的,那么您必须通过您当前登录的用户的某个唯一id来识别他,也许您应该使用this.users.filter来查找该用户并将该id与当前登录的用户进行比较。那就抓住你需要填补的领域。

ryevplcw

ryevplcw2#

如何使用vuejs和laravel获取当前经过身份验证的用户id
你应该加上 <meta name="user-id" content="{{ Auth::user()->id }}"> 在里面
//app.blade.php或任何你有的东西,比如下面的master.blade.php

<head>
        <meta charset="UTF-8">
        @if (Auth::check()) 
          <meta name="user-id" content="{{ Auth::user()->id }}">
        @endif 
        <meta http-equiv="X-UA-Compatible" content="IE=edge" 
      ...
      ..

然后在app.js或main.js中添加

data: {
    comment: {
      name: '',
      cart: '',
      user_id: document.querySelector("meta[name='user-id']").getAttribute('content'),
    },

//最后在myvuecomponent.vue中

<div class="col-sm-6">
    <label>First Name *</label>
    <input type="text" v-model="comment.name" class="form-control" required>
    <input type="hidden" v-model="comment.cart">
    <input type="hidden" v-model="comment.user_id">
</div>

希望能帮助别人

ggazkfy8

ggazkfy83#

为什么不直接将用户变量传递到vuejs对象中的blade模板中呢? {{ Auth::user()->id }} {{ Auth::user()->name }} {{ Auth::user()->avatar }}

相关问题