Vue全局注册中的kebab-case和PascalCase用法
作者:宏辉
这篇文章主要介绍了Vue全局注册中的kebab-case和PascalCase用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
全局注册
全局注册的组件,可以用在所有的 Vue 实例 (new Vue) 中。
语法:
# 第一种方式
Vue.component('组件名称', { /* ... */ })
# 第二种方式
Vue.component('组件名称', 组件对象);
定义组件名:
使用 kebab-case(短横线命名)
Vue.component('my-component-name', { /* ... */ })当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如 <my-component-name>。
使用 PascalCase(帕斯卡命名)
Vue.component('MyComponentName', { /* ... */ })注意
当使用 PascalCase (首字母大写命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。
也就是说 <my-component-name> 和 <MyComponentName> 都是可接受的。
注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case 是有效的。
命名组件的时候可以是kebab-case,引用时候必须是kebab-case

命名组件的时候可以是PascalCase,引用时候必须是kebab-case

示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vuejs父子通信</title>
<script src="../node_modules/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<!-- 使用组件 -->
<my-div color="red" title="我是一个div"></my-div>
<!-- 等价于
<div style="color: red">我是一个div</div>
-->
</div>
<script type="text/javascript">
// 全局注册组件
// Vue.component('my-div', {
Vue.component('MyDiv', {
template: `<div :style="'color:'+ color" >{{title}}</div>`,
props: {
color: {type: String, required: true, default: ""},
title: {type: String, required: true}
}
});
// 创建Vue实例
var vue = new Vue({
el: '#app', // 渲染的html元素
data: { // 数据对象
}
});
</script>
</body>
</html>总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
