验证data选项必须是函数
函数时,数据没有共享,互相独立
<div id="app"> <my-btn></my-btn> <my-btn></my-btn> <my-btn></my-btn> <my-btn></my-btn> </div> <template id="my_btn"> <button @click="counter += 1">点击次数:{{counter}}</button> </template> <script src="js/vue.js"></script> <script> // 1.实例化组件 Vue.component('my-btn', { template: '#my_btn', data() { return { counter: 0 } } }); new Vue({ el: '#app', }); </script>对象时,数据之间共享,不独立
<div id="app"> <my-btn></my-btn> <my-btn></my-btn> <my-btn></my-btn> <my-btn></my-btn> </div> <template id="my_btn"> <button @click="counter += 1">点击次数:{{counter}}</button> </template> <script src="js/vue.js"></script> <script> let data = { counter: 0 } // 1.实例化组件 Vue.component('my-btn', { template: '#my_btn', data() { return data; } }); new Vue({ el: '#app', }); </script>