Vue 组件全局注册与局部注册

实现以下效果

Html

<div id='app'></div>

Js 

       //局部注册
        let fot={
          data(){
            return{
              count:0,
            }
          },
          template:'<div>foot   {{count}}<button @click="count++">点击</button></div>',
          };

        //全局注册
        Vue.component('hed',{
           template:'<div>bbbbb<fot></fot><fot></fot></div>',
           components:{fot} //局部注册
        })


        let a=new Vue({
          el:'#app',
          data:{},
          template:'<div>aaaa<hed></hed></div>',
          
        })

注意:1.局部注册组件需要在全局注册组件中引用,html内无法直接引用局部注册组件

          局部注册组件写法:

        //局部注册
        let fot={
          template:'<div>foot</div>',
          };

全局组件引用局部组件写法:

        //全局注册
        Vue.component('hed',{
           template:'<div>bbbbb<fot></fot><fot></fot></div>',
           components:{fot} //局部注册
        })

      

     2.组件中的data要以函数的形式书写,为了组件多次引用时数据不会相互干扰(全局组件与局部组件均是这种写法) ,根节点中的data可以写成对象形式不用写成function形式,因为根组件不会被复用

       写法如下:

 data(){
            return{
              count:0,
            }
          }

组件代码一定要写在根节点声明代码的上面,也就是vue.component的代码段要写在 const=new Vue({})代码段的上面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值