【问题标题】:Laravel how to get nested object value in VuejsLaravel如何在Vuejs中获取嵌套对象值
【发布时间】:2021-05-29 19:49:20
【问题描述】:

我有 Laravel 8 我正在使用 Laravel Spatie 包来获取角色和权限。

我正在获取所有具有角色的管理员用户并将其发送到 vuejs,例如

$users = Admin::orderBy('id','DESC')->with('roles')->get();

在 Vue 组件中我有

<tr v-for="(user,index) in users" :key="users.id">

我正在尝试在表格中显示所有用户及其姓名和角色。我能得到名字,但不能得到角色名。

我想访问角色对象中的角色名称。

谢谢

【问题讨论】:

  • 它的 laravel 集合,对于集合中的每个项目,它都有另一个角色集合,其中包含角色信息。

标签: vue.js vuejs2 vue-component laravel-8


【解决方案1】:

您可以在 vue.js 中以 user.roles 数组的形式访问角色集合。

但如果您想要所有角色的名称,则需要遍历数组或使用map 函数。

user.roles.map(role => role.name)

假设每个角色都有属性name

【讨论】:

  • 感谢您的回答,但是当我使用 user.roles 访问角色时,我收到未解决的变量角色错误。
  • 这也是你将变量 $users 传递给 vue.js 的方式,你需要传递整个东西 $users->toJson()
  • 我像这样传递给 vue 组件。 {{ csrf_field() }}
  • 查看php端是否有roles属性,然后可以使用vue开发工具查看vue中的值
  • {{ user.roles.map(roles => roles.name) }} 这似乎有效,但是像这样 ["Admin"] 打印的名称我不想要大括号和引号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2021-06-19
  • 1970-01-01
  • 2021-12-14
  • 2016-01-20
相关资源
最近更新 更多