Vue.js报错:Property or method “XXX“ is not defined on the instance but referenced during render. .....

       今天学习vue组件的时候发现控制台出现报错,意思是属性或方法没有在实例上定义。然后看了看源码,发现

        应该是stuList而不是list,改正后不再报错。

完整代码:

<body>
    <div id="box">
        <my-component :stu-list="list" @delid="doDel"></my-component>
    </div>
    <script>
        Vue.component('my-component', {
            props: ['stuList'],
            template: `
                <div>
                    <ul>
                        <li v-for="(stu, index) in stuList" :key="index">
                            {{stu.name}} - {{stu.age}}
                            <button @click="del(index)">删除</button>
                        </li>
                    </ul>
                </div>
            `,
            methods: {
                del: function (value) {
                    this.$emit('delid', value);
                }
            }
        })
        var vm = new Vue({
            el: '#box',
            data: {
                list: [
                    {
                        name: '张三',
                        age: 20
                    },
                    {
                        name: '李四',
                        age: 21
                    },
                    {
                        name: '王五',
                        age: 19
                    }
                ]
            },
            methods: {
                doDel: function (value) {
                    this.list.splice(value, 1);
                }
            }
        })
    </script>
</body>

结果:

 👍