###Vue注册语法原理:
先创建组件构造器对象(.extend),然后注册组件(.component)在使用,案例代码如下:
注册组件分为全局变量及局部变量
<div id="comb">
<!-- 3.使用组件 -->
<mycpn></mycpn>
<mycpn></mycpn>
</div>
<script>
//1.创建组件构造器对象
const componentc = Vue.extend({
template:`
<div>
<h2>我是标题</h2>
<p>这是内容,哈哈哈</p>
<p>这是结尾,嚯嚯嚯</p>
</div>`
})
//2.注册组件(全局变量)
// Vue.component('mycpn',componentc)
const vm=new Vue({
el:"#comb",
data:{
},
//局部变量
components:{
mycpn: componentc
}
})
</script>
局部组件只能在实例div里面使用
父子组件案例:
<body>
<div id="app_fSon">
<cpnc2></cpn2>
</div>
<script type="text/javascript">
const cpn1=Vue.extend({
template:`
<div>
<h2>这是标题1</h2>
<p>这是内容:叭叭叭</p>
</div>`
})
const cpn2=Vue.extend({
template:`
<div>
<h2>这是标题2</h2>
<p>这是内容:啦啦啦</p>
//子组件
<cpnc1></cpnc1>
</div>`,
components:{
cpnc1: cpn1
}
})
const vm=new Vue({
el:"#app_fSon",
data:{},
components:{
cpnc2: cpn2
}
})
</script>
</body>
组件注册语法糖及两种模板分离案例:
<body>
<div id="app_spe">
<cpnc1></cpnc1>
<cpnc2></cpnc2>
</div>
<!-- script模板分离 -->
<script type="text/x-template" id="cpn1">
<div>
<h2>这是标题1</h2>
<p>这是内容,锤锤</p>
</div>
</script>
<!-- template模板分离写法 -->
<template id="cpn2">
<div>
<h2>这是标题2</h2>
<p>这是内容,榔头</p>
</div>
</template>
<script type="text/javascript">
//注册组件全局语法糖
Vue.component(
'cpnc1',{
template:'#cpn1'
}
)
const vm=new Vue({
el:"#app_spe",
data:{},
//注册组件局部语法糖
components:{
'cpnc2':{
template:'#cpn2'
}
}
})
</script>
</body>