通过刀片(laravel)将道具(数组)传递给vue.js

时间:2018-04-10 05:41:42

标签: javascript laravel vue.js

如何通过laravel(刀片)在vue js中传递数组? 我试图这样做:

// $ users - array 叶片:

<all-users users="{{ $users }}"></all-users>

VUE:

<tr v-for="user in users" >

                    <td>{{ user.id }}</td>
                    <td>{{ user.login }}</td> 
</tr>

JS:

export default {

    props:['users']
    }

//不要全部工作

P.S我也尝试过:
<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}

提前感谢您的帮助

3 个答案:

答案 0 :(得分:7)

要将数据从laravel传递到vue,最好的方法是使用Laravel提供的@json选项。因此您的代码将如下所示:

<all-users :users='@json($users)'></all-users>

请记住,您需要使用单引号@json函数。另外,请不要忘记在用户属性中使用“:”,否则它将被解释为字符串。

用于json数据的Laravel文档: https://laravel.com/docs/master/blade#displaying-data

答案 1 :(得分:3)

<all-users users="@json($users)"></all-users>

 <all-users users="{{ json_encode($users) }}"></all-users>

答案 2 :(得分:0)

<all-users :users='@json($usersInfo)'></all-users>

另外,请记住,您不能在此处使用驼峰式保护套。应该是:

 <all-users :users='@json($usersinfo)'></all-users>