Vue 子组件data设置踩坑

时间秒杀一切 提交于 2020-02-12 12:16:36

vue子组件

实践一下, 没想到踩了一个坑

<div id="app">
    <counter></counter>
</div>

<script>
    Vue.component('Counter', {
        data: {
            value: 0
        },
        template: '<div>haha {{value}}</div',

    })
    var vm = new Vue({
        el: '#app',
        data: {},
        methods: {}
    })
</script>

然后打开浏览器,发现报错ReferenceError: value is not defined

后来想起来看过的视频说 子组件的data要是个function

data () {
    return {value: 0}
}

至于为什么要是function,不能是Object呢, 因为,一个组件可能包括多个相同的子组件,如果是object的化,就是个共享变量了,会导致问题,所以子组件的data要是个function,保证独立

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!