在 vue 模板中使用从 laravel 控制器返回的对象

Posted

技术标签:

【中文标题】在 vue 模板中使用从 laravel 控制器返回的对象【英文标题】:Use returned object from laravel controller in vue template 【发布时间】:2020-09-11 01:26:57 【问题描述】:

请问我如何在 vue 组件中使用从 laravel 控制器返回的对象,就像我们在刀片中使用的那样

例如,我有 2 个表用户,角色用户有一个角色

users
    id - integer
    name - string

roles
    id - integer
    name - string

在控制器中我返回一个用户类型的对象,我在刀片中像这样使用它

$user->role['name']

这样我可以得到角色的名字

如何在 Vue 模板中获取退货用户的角色名称

【问题讨论】:

【参考方案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

【讨论】:

以上是关于在 vue 模板中使用从 laravel 控制器返回的对象的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 6 + Vue.js 无法挂载组件:未定义模板或渲染函数

如何正确地将数据从 vue 组件发布到 laravel 控制器

无法将数据从刀片传递到 vue(Laravel 5.3)

从 vue 文件调用 laravel 控制器

激活控制器渲染的模板中的 Vue

访问 vue.js 模板中的 php 数组