注意:component的data属性必须是函数,为了避免多个组件实例共享同一个数据。
Vue.component('my-count',{
            template:"#myCount",
            data() {
                return {
                    count:0,
                }
            });
我是分割线
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <template id="myCount">
        <div>
            <h1>当前计数:{{ count }}</h1>
            <button @click="add">+</button>
            <button @click="dec">-</button>
        </div>
    </template>
    <div id="app">
        <my-count></my-count>
        <my-count></my-count>
        <my-count></my-count>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        Vue.component('my-count',{
            template:"#myCount",
            //组件的数据存放,为什么是一个函数?避免多个组件实例共享同一个数据
            data() {
                return {
                    count:0,
                }
            },
            methods: {
                add(){
                    this.count++;
                },
                dec(){
                    this.count--;
                }
            }
        });
        let app = new Vue({
            el: '#app',
        });
    </script>
</body>
</html>
我是分割线
前台效果:
    Title 
            当前计数:{{ count }}