在vuejs中的$ http.get()中处理多个返回的数据

时间:2016-05-04 15:01:25

标签: laravel-5 vue.js

我的控制器需要将两个变量返回到$ http.get()函数: 我如何访问函数中返回的数据?我在下面提到我的代码(下面的代码只处理一个返回的数据): 我的vue实例:

var vm = new Vue({
    el: '#userMgt',
    data: {

    },
    methods: {
        fetchUser: function () {
            this.$http.get('../api/users', function (data) {
                this.$set('users', data)
            });
        }
    },
    ready: function () {
        this.fetchUser()
    }


});

然后我的控制器返回值:

public function index()
    {
        $userRecords = AdminUser::LeftJoin('pltblusertype', 'tbluser.usUserTypeID', '=', 'pltblusertype.utID')
            ->select('tbluser.id', 'tbluser.usName', 'tbluser.email', 'pltblusertype.utName')
            ->get();

        $roles = Role::all();

        return compact('userRecords','roles');

    }
我可以这样做吗?

var vm = new Vue({
    el: '#userMgt',
    data: {

    },
    methods: {
        fetchUser: function () {
            this.$http.get('../api/users', function (data1,data2) {
                this.$set('users', data1)
                this.$set('roles', data2)
            });
        }
    },
    ready: function () {
        this.fetchUser()
    }


});

更新的 编码时,我没有充分考虑到雄辩的关系。我是新手......我刚刚获取了这样的数据:

 public function getUsers()
    {
        $userRecords = AdminUser::LeftJoin('pltblusertype', 'tbluser.usUserTypeID', '=', 'pltblusertype.utID')
            ->select('tbluser.id', 'tbluser.usName', 'tbluser.email', 'pltblusertype.utName')
            ->with('roles')//eloquent relationship
            ->get();

        return $userRecords;
    }

用户与角色有很多关系。然后将单个变量传递给它。$ http.get()...然后在我的视图中,我显示了用户及其多个角色,如下所示:

<tr v-for="user in users">
                <td>@{{user.usName}}</td>
                <td>@{{user.email}}</td>
                <td>@{{user.utName}}</td>
                <td>
                    <ul v-for="role in user.roles">
                        <li>@{{role.roName}}</li>
                    </ul>


                </td>

0 个答案:

没有答案