vue子组件

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

<div >
    <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,保证独立

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-05
  • 2022-12-23
  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2022-01-14
猜你喜欢
  • 2021-06-10
  • 2021-10-27
  • 2021-06-07
  • 2022-12-23
  • 2021-06-18
  • 2021-12-14
相关资源
相似解决方案