<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<div id="app">
<!--    组件的代码为什么必须是一个函数?-->
<!--    组件实例,没有共享同意个数据,因为他是一个函数,每次执行的时候会创建一个新的返回值,彼此独立-->
    <mycpn1></mycpn1><!--使用自定义的组件名称-->
    <mycpn1></mycpn1><!--使用自定义的组件名称-->
    <mycpn1></mycpn1><!--使用自定义的组件名称-->
</div>
<body>
<template id="cpn1">
    <div>
        <h2>当前计数:{{counter}}</h2>
        <button @click="increament">+</button>
        <button @click="decreament">-</button>
    </div>
</template>
<script src="vue.js"></script>
<script>
// <!--    用来实现三个组件合并-->
    const obj={
        counter: 0
    };
    //全局注册的语法糖的实现
    //这样会实现,各个组件之间彼此独立
    Vue.component("mycpn1",{
        template:'#cpn1',
        data(){
            // return{
            //     counter:0
            // }
        //    如果希望将三个组件合并(一般不会使用)
            return obj;
        },
        methods:{
            increament(){
                return this.counter++
            },
            decreament(){
                return this.counter--
            }
        }
    });
    const app=new Vue({         /*看成root组件*/
        el:'#app',
        data:{
        },
        components:{
        }
    })
</script>
</body>
</html>