And*_*rey 2 javascript laravel vue.js
如何通过laravel(blade)在vue js中传递数组?我试图这样做:
// $ users-阵列刀片:
<all-users users="{{ $users }}"></all-users>
Run Code Online (Sandbox Code Playgroud)
提示:
<tr v-for="user in users" >
<td>{{ user.id }}</td>
<td>{{ user.login }}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
js:
export default {
props:['users']
}
Run Code Online (Sandbox Code Playgroud)
//不工作
PS我也尝试过:
<all-users users="{{ $users[0]->toJson() }}"></all-users>
输出:
{"id":2,"email":"usersss@mail.ru","login":"SimpleUser","role_id":0,"images":"public\/img\/default_avatar.png","created_at":null,"updated_at":null}
Run Code Online (Sandbox Code Playgroud)
预先感谢您的帮助
要将数据从 laravel 传递到 vue,您最好的选择是使用 Laravel 提供的 @json 选项。所以你的代码会是这样的:
<all-users :users='@json($users)'></all-users>
Run Code Online (Sandbox Code Playgroud)
请记住,您需要使用单引号 @json 函数。另外不要忘记为您的用户道具使用“:”,否则它将被解释为字符串。
json 数据的 Laravel 文档:https ://laravel.com/docs/master/blade#displaying-data
<all-users users="@json($users)"></all-users>
Run Code Online (Sandbox Code Playgroud)
要么
<all-users users="{{ json_encode($users) }}"></all-users>
Run Code Online (Sandbox Code Playgroud)