반응형
어레이를 컨트롤러에서 vue.js v-for로 전달하는 방법
컨트롤러 패스 값(데이터베이스 열)에서 vue.js 컴포넌트(v-for의 선택 옵션용)로 시도하고 있지만 컨트롤러에서 블레이드로 전송하여 vue.js에서 프로포트로 가져와 데이터로 넣으면 json의 모든 문자가 하나의 선택 옵션으로 표시됩니다.
이 문제를 해결하고 json 개체를 v-for select에 넣으려면 어떻게 해야 합니까?
역할 컨트롤러php
$roles = Roles::all('name');
return view('users.create', ['users' => $users]);
블레이드에서는 vue 컴포넌트에 값을 전달합니다.
<users-add
roles="{{$roles}}"
></users-add>
My Users Add.vue:
<select>
<option v-for="role in roles" :value="role">
{{role}}
</option>
</select>
그러나 목록 내의 모든 문자를 선택 행의 json에서 가져옵니다.대신 모든 선택 행의 모든 역할 이름을 가져옵니다.예를 들어 다음과 같습니다.
{
"
n
a
m
e
"
:
"
m
o
d
e
r
a
t
o
r
"
대신
moderator
에 기능이 있다고 가정합니다.RoleController
다음과 같이 표시됩니다.
public function index()
{
$roles = Role::all('name');
$users = User:all(); // or however you're obtaining your users
return view('users.create', compact('roles', 'users'));
}
고객님의 고객명users.create
블레이드 템플릿은 다음과 같이 설정합니다.
<users-add :roles="{{ $roles }}"></users-add>
콜론(:) 앞에 주의해 주세요.roles
소품
그럼 네 안에UserAdd
다음과 같은 vue 구성 요소가 작동합니다.
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<label for="role">Role</label>
<select id="role" name="role">
<option v-for="role in this.roles" :value="role">
{{ role.name }}
</option>
</select>
</div>
</div>
</div>
</template>
<script>
export default {
props: [
'roles'
]
}
</script>
언급URL : https://stackoverflow.com/questions/58684313/how-to-pass-array-from-controller-to-vue-js-v-for
반응형
'programing' 카테고리의 다른 글
gcc를 사용하여 __uint128_t 번호를 인쇄하는 방법 (0) | 2022.08.17 |
---|---|
오류: 함수가 로컬 변수의 주소를 반환합니다. (0) | 2022.08.17 |
"continue" 키워드는 무엇이며 Java에서는 어떻게 동작합니까? (0) | 2022.08.10 |
디버거를 사용하지 않는 경우에만 segfault가 발생합니다. (0) | 2022.08.10 |
Vue $route가 정의되지 않았습니다. (0) | 2022.08.10 |