Vue框架整理:全局组件、局部组件、特殊组件创建方法

这里写图片描述
vue的组件也是需要注册后才可以使用的,注册有全局注册和局部注册两种;

全局组件注册后,任何vue实例都可以用:


<div id="v1">
    <first-component></first-component>
</div>


<script src="vue.min.js"></script>

<script>
                 //first-component就是组件中自定义的标签名,一般用小写或者加- 比较多一点
    Vue.component('first-component',{
                    //这里必须是被一个元素包含的内容,否则无法渲染
        template:"<div>第一个组件的内容</div>"
    });

    var v1=new Vue({
        el:"#v1"
    });

</script> 

效果图:
这里写图片描述


局部组件注册后,只有在设置对应的实例内才可以使用,也可以使用components选项来注册组件,使组件嵌套


<div id="v1">
    <v-com></v-com>
</div>

<script src="vue.min.js"></script>
<script>
    var comEle={
        template:"<h2>局部组件TEXT</h2>"
    };

    var app=new Vue({
        el:'#v1',
        components:{
            'v-com':comEle
        }
    })
</script>

显示效果:

这里写图片描述

需要注意的是,组件模板有时会受到HTML的限制,比如< table >标签内只能放< tr >< td >等,或者ul、ol 、select 、等
这种情况下可以使用特殊的 is 属性挂载组件:


<div id="v1">
    <table>
        <tbody is="v-com"></tbody>
    </table>
</div>
<script src="vue.min.js"></script>
<script>
    var comEle={
        template:"<h3>特殊组件TEXT</h3>"
    };

    var app=new Vue({
        el:'#v1',
        components:{
            'v-com':comEle
        }
    })
</script>

显示效果:
这里写图片描述


创建组件时,除了template选项,也可以使用像实例中的其他选项,比如data, computed, methods等,这里需要注意是data的用法:
data必须是函数,通过return的方式传递数据:


<div id="v1">
    <v-com></v-com>
</div>

<script src="vue.min.js"></script>

<script>
    Vue.component('v-com',{
        template:"<h3> {{ content }} </h3>",
        data:function () {
            return{
                content:"data组件内容"
            }
        }
    });

    var app=new Vue({
        el:'#v1'
    })
</script>

效果图:
这里写图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值