vuejs中的prop定义出错

时间:2017-06-01 08:44:25

标签: vuejs2

我在VueJs 2中使用了datatable(https://github.com/pstephan1187/vue-datatable)组件。 我的组件如下:

<template>
    <div>

        <div id="desktop">
            <div v-if="visibility.personsTable">
                <datatable-persons
                        :columns="persons_table_columns"
                        :data="rows"
                        filterable paginate
                ></datatable-persons>
            </div>

        </div>        
    </div>
</template>

<script>
    import VueJsDatatable from 'vuejs-datatable';

    import Profile from './user/Profile';
    import ConnectionService from '../components/services/ConnectionService';
    const connectionService = new ConnectionService();

    Vue.component('showuser', {
        template: `
        <button class="btn btn-xs btn-primary" @click="goToUpdatePage">Профиль</button>
    `,
        props: [row],
        methods: {
            goToUpdatePage: function(){

            }
        }
    });

    export default {
        components: {            
            datatablePersons: VueJsDatatable,
            usersTable: VueJsDatatable,
        },

        data() {
            return {


                    rows: [],
                    persons_table_columns: [
                        {label: 'id', field: 'id'},
                        {label: 'Имя', field: 'firstname'},
                        {label: 'Фамилия', field: 'lastname'},
                        {label: 'Отчетство', field: 'middlename'},
                        {label: 'Профиль', component: 'showuser'}
                    ],


                visibility: {
                    personsTable: false,
                }
            }
        },

        methods: {
            showPersons() {

            this.$http.get(hostname + 'name=person_list&session_id=' + 

sessionApiId).then(response => {
                    this.rows = connectionService.renderMultipleInstances(response.body);
                    this.visibility.usersTable = false;
                    this.visibility.personsTable = true;
                }, response => {
                    // error callback
                });
            },           
        }

    }
</script>

我有以下错误: 未捕获的ReferenceError:未定义行     at Object.defineProperty.value(app.js:5309)     在 webpack_require (app.js:20)

由于“table”组件的文档,它应该注意“row prop”并使用官方示例它可以正常工作。

1 个答案:

答案 0 :(得分:1)

showuser组件props的定义中,应该是一个字符串数组:

props: ['row']

这些字符串应与用于将数据传递到组件的属性的名称相匹配。

同样来自sinppet,我猜你希望它'rows'而不是'row'