浅谈vue当中的组件思想及注册

首先呢我们来了解一下组件思想

先来一些我们生活当中的组件例子-------手机的发展

最开始-----打电话,接电话

然后-------打电话,接电话,发短信,收短信,拍照。。。。

最后------打电话,接电话,发短信,收短信,拍照,上网等。。。。

我们把这些功能看成是一个组件,那大家觉得这些组件的优势是什么?

想必大家能够迅速的就知道了

第一:方便维护(摄像头坏了,修摄像头就行了)

第二:方便增减(某个功能可以进行增减)

等等。。。

简单来说功能和功能之间相互组合,又相互独立

再来说一下代码当中的组件思想

1:标准

有标准,我们大家写出来的代码通用性就会比较好

2:分支

把不同的代码封装到不同的组件当中,这样不同的组件就能够独立的生产,有利于独立的团队协作

3:重用

组件有问题,可以直接维护或者更换组件,提高开发效率

4:组合

组件通过组合的方式开发除一款新的产品

vue当中的组件思想就是,我们代码可以尽可能多的去进行重用,且尽可能的减少不必要代码冲突

组件的注册

全局注册语法

Vue.component(参数1,参数2)

参数1:自定义组件的名称

参数2:对象

{

data:function(){

return {data:"组件数据"}

},

template:'组件的内容'

}

具体案例

页面展示

ok,大家可以尝试一下

有同学问,模板当中是否可以有多个标签,可以的

模板字符串``

组件的命名方式

Vue.component("click-add",{...})

Vue.component("clickAdd",{...})

DOM当中

<click-add></click-add> 只有这一种写法

---------------------

局部注册

语法:

具体实例

相关代码

全局组件

dom

<div id="app">

<click-add></click-add>

</div>

<script>

// 全局注册组件

// Vue.component("自定义组件名",{

// data:function(){

// return {data:"组件数据"}

// },

// template:'组件的内容'

// })

// Vue.component("click-add",{

// data:function(){

// return {count:0}

// },

// template:'<button @click="count++">点击了{{count}}次</button>'

// })

// Vue.component("click-add",{

// data:function(){

// return {count:0}

// },

// template:'<button @click="add" >点击了{{count}}次</button>',

// methods:{

// add:function(){

// this.count++

// }

// }

// })

Vue.component("click-add",{

data:function(){

return {count:0}

},

template:`<div>

<h1>点击了{{count}}次<h1>

<button @click="add" >点击一下</button>

</div>`,

methods:{

add:function(){

this.count++

}

}

})

var vm=new Vue({

el:"#app",

data:{},

})

</script>

局部组件

dom:

<div id="app">

<click-add></click-add>

<hello-world></hello-world>

</div>

vue:

<script>

// 局部注册组件

var clickAdd={

data:function(){

return {count:0}

},

template:`<div>

<h1>点击了{{count}}次<h1>

<button @click="add" >点击一下</button>

</div>`,

methods:{

add:function(){

this.count++

}

}

};

var helloWorld={

data:function(){

return {message:"花花最近好像生病了"}

},

template:`<h1>{{message}}<h1>`,

};

var vm=new Vue({

el:"#app",

data:{},

components:{

"click-add":clickAdd,

"hello-world":helloWorld,

}

})

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值