【问题标题】:Use returned object from laravel controller in vue template在 vue 模板中使用从 laravel 控制器返回的对象
【发布时间】:2020-09-11 01:26:57
【问题描述】:
请问我如何在 vue 组件中使用从 laravel 控制器返回的对象,就像我们在刀片中使用的那样
例如,我有 2 个表用户,角色用户有一个角色
users
id - integer
name - string
roles
id - integer
name - string
在控制器中我返回一个用户类型的对象,我在刀片中像这样使用它
{{$user->role['name']}}
这样我可以得到角色的名字
如何在 Vue 模板中获取退货用户的角色名称
【问题讨论】:
标签:
laravel
vue.js
vue-component
laravel-blade
【解决方案1】:
一种选择是将$user 直接传递给组件。在这种情况下,请确保在 user 模型中附加 role 数据。
<example-component :user="{{ $user->toArray() }}"></example-component>
然后在 vue 组件中你可以打印{{ user.role.name }}
您也可以在User.php模型中添加一个属性并附加它
protected $appends = ['role_name'];
public function getRoleNameAttribute()
{
return $this->role->name;
}
然后在ExampleComponent 内可以打印{{ user.role_name }}