欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue创建组件的几种方法

程序员文章站 2022-04-14 21:50:52
效果: ......
<html>

<head>
    <title>vue创建组件</title>
    <meta charset="utf-8">
</head>

<body>
    <div id="app">
        <my-com1></my-com1>
        <my-com2></my-com2>
        <my-com3></my-com3>
    </div>
    <div id="app2">
        <private></private>
    </div>
    <template id="temp1">
        <div>
            <h3>这是通过template元素在外部定义的组件结构</h3>
        </div>
    </template>
    <template id="temp2">
        <div>
            <h3>这是一个私有组件</h3>
        </div>
    </template>
</body>
<!-- 这里请引入cdn或者是下载到本地的vue.js -->
<script src="node_modules\vue\dist\vue.js"></script>
<script>
    //ps:组件模板只能有一个根元素
    //一、创建全局的组件
    //方式1 使用中间变量
    //1.1使用extend创建
    var com1 = vue.extend({
        template:'<h3>这是使用vue.extend创建的组件</h3>'
    })
    //1.2使用vue.component(),定义组件的名称
    vue.component('mycom1',com1);//使用驼峰命名是则在引用时就需将大写的字符变为小写,并以-连接两个单词,不使用则引用时标签名与定义一致
    //方式2 不使用中间变量
    vue.component('mycom2',vue.extend({
        template:'<h3>这是使用vue.component创建的组件</h3>'
    }))
    //更简洁的方式
    vue.component('mycom2',{
        template:'<h3>这是使用vue.extend创建的组件</h3>'
    })
    // 方式3 通过在template元素,在被控制的#app外面定义组件的模板
    vue.component('mycom3',{
        template:'#temp1'
    })
    let vm = new vue({
        el: "#app",
        data:{

        }
    });
    //二、创建私有组件
    let vm2 = new vue({
        el: "#app2",
        data:{

        },
        components:{
            private:{
                template:"#temp2"
            }
        }
    });
</script>

</html>

  效果:

vue创建组件的几种方法