我想将当前登录的用户详细信息放入隐藏的输入字段中。所以我写这样的输入值
<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();
答案 0 :(得分:0)
为什么不将用户变量直接传递到vuejs对象的刀片模板中?
{{ Auth::user()->id }}
{{ Auth::user()->name }}
{{ Auth::user()->avatar }}
等
答案 1 :(得分:0)
如果我很好理解,this.users是您所拥有的所有用户的列表,比如说,状态吗?如果这是真的,那么您必须通过其具有的唯一ID识别当前登录的用户,也许您应该使用this.users.filter查找该用户并将ID与当前登录的用户进行比较。然后,只需抓住您需要填写的字段即可。
答案 2 :(得分:0)
如何使用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>
希望会帮助某人