在Vue中我们可以自己定义(注册)全局组件
定义组件名的方式:
Vue.component("全局组件的名称",{一个对象})
组件的使用方式:假设我定义了一个全局组件,名称为 myhead
<div id="app">
<myhead></myhead>
</div>
全局组件的基本使用:
1.可以直接在组件中渲染文本:
注意:为了方便对标签的识别,推荐在 template 后使用模板字符串
Vue.component("myhead",{
template:`
<div>
<p>全局组件的调用</p>
</div>
`
})
在视图层调用:
<div id="app">
<myhead></myhead>
</div>
输出结果为:
2.有同样的 data 数据中心,在 template 中可以渲染数据中心的数据
注意点:在Vue实例中,data 数据中心是一个对象
在vuejs组件中,我们要求data必须返回一个函数,不能是一个对象,要有返回值
Vue.component("myhead",{
template:`
<div>
<p>全局组件的调用</p>
<p>{{mes}}</p>
</div>
`,
data(){
return {
mes:"同样的可以渲染数据"
}
}
})
输出结果为:
3.可以绑定事件指令
Vue.component("myhead",{
template:`
<div>
<p>{{num}}</p>
<input type="button" value="点击num加一" @click="num++">
</div>
`,
data(){
return {
num:1
}
}
})
输出结果为:
4.全局组件的复用:
可以在视图层多次调用同一个全局组件,组件之间互不影响
<div id="app">
<!-- 再视图层 使用组件 -->
<myhead></myhead>
<!-- 组件的复用(可以被调用很多次,互不影响) -->
<myhead></myhead>
<myhead></myhead>
<myhead></myhead>
</div>
查看结果: