组件命名
有两种:
(推荐)短横线分隔(kebab-case),字母全小写,多个单词组成时,中间由
-分割
饿了么UI就是使用这种命名,见 链接大驼峰命名方式(PascalCase),类似Java的类名
注意:需要在 vue cli脚手架 或 webpack 中编译后才能正常使用
注意:
- 组件名不要与 html标签同名,如:组件名是
<button></button>、<div></div>
例子:短横线分割命名
<div id="app" >
<std-com></std-com>使用组件
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
<script>
var std_com={
template:`
<div>
姓名:{{name}} <br/>
年龄:{{age}} <br/>
身高:{{length}} <br/>
</div>`,
data: function(){
return {
name:'李雷',
age:20,
length:1.82
}
}
}
Vue.component("std-com",std_com)//短横线分割
var app = new Vue({
el: '#app',
data: {
}
})
</script>
例子:驼峰命名
<div id="app" >
<StdCom></StdCom>使用组件,注意:需要编译后才能正常运行
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var std_com={
template:`
<div>
姓名:{{name}} <br/>
年龄:{{age}} <br/>
身高:{{length}} <br/>
</div>`,
data: function(){
return {
name:'李雷',
age:20,
length:1.82
}
}
}
Vue.component("StdCom",std_com)//驼峰命名
var app = new Vue({
el: '#app',
data: {
}
})
</script>
例子:不能与html标签同名
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app" >
<div></div>使用组件
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
<script>
var std_com={
template:`
<div>
姓名:{{name}} <br/>
年龄:{{age}} <br/>
身高:{{length}} <br/>
</div>`,
data: function(){
return {
name:'李雷',
age:20,
length:1.82
}
}
}
Vue.component("div",std_com)//组件名是div,与html标签同名
var app = new Vue({
el: '#app',
data: {
}
})
</script>
</body>
</html>
结果:页面不显示