Vue组件化编程需要注意的命名规则

  在Vue组件化编程过程中,开始接触的不太注意命名规则,比如对于组件的内部参数命名以及在父组件中使用命名感到模糊,犯一些错误,就感觉在踩坑。

  其实,这是对Vue组件化编程中的命名规则没有留意,稍加学习就可以轻松越过这些“坑”。

  通常情况下,我们已经习惯了camelCase(驼峰命名法,混合使用大小写字母来构成变量和函数的名字,每个单词的首字母大写),在网页中的JavaScript编程中也是这样使用,潜意识里就认为Vue组件化编程也一样。

  可是在Html网页里是不区分大小写的,这就意味着对于组件的命名或者属性命名是不区分大小写,这就容易导致一些常见的错误。

  举例:

  Vue脚本里支持camelCase(驼峰命名法),Html网页里并不支持camelCase(驼峰命名法),这就导致Html找不到对应的全局组件而报错。

  如果将myComponet全部改写成mycomponet,那么显示结果就正常了。

  属性也一样,比如上面因为mytitle全部是小写,所以参数传递是正常的。

  在网页脚本语言中,kebab-case(短横线隔开命名法,每个单词首字母小写)也是一种常见的命名规则。在Vue组件化编程中也一样可以使用。

  那么在Props参数命名的时候使用kebab-case命名法行不行呢?

  网页里的组件属性命名和组件的Props命名都采用kebab-case命名法是行不通的,可是当我们将Props参数命名采用camelCase(驼峰命名法)的时候,网页就正常显示了。

  正常网页代码1(命名全部采用小写字母):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue.js的组件化编程:Props的命名规则</title>
		<script src="./js/vue2.js"></script>
	</head>
	<body>
		<div id="app">
			<mycomponect mytitle="这是组件标题"></mycomponect>
		</div>			
		<script type="text/javascript">		
			Vue.component("mycomponect",{
				props:['mytitle'],
				template:`<div><h1>{
   
   {mytitle}}</h1></div>`
			});
			var vm=new Vue({
				el:"#app",
			});
		</script>
	</body>
</html>

  正常网页代码2(在Vue脚本中使用camelCase驼峰命名法,在父组件中使用kebab-case命名法):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue.js的组件化编程:Props的命名规则</title>
		<script src="./js/vue2.js"></script>
	</head>
	<body>
		<div id="app">
			<my-componect my-title="这是组件标题"></my-componect>
		</div>			
		<script type="text/javascript">		
			Vue.component("myComponect",{
				props:['myTitle'],
				template:`<div><h1>{
   
   {myTitle}}</h1></div>`
			});
			var vm=new Vue({
				el:"#app",
			});
		</script>
	</body>
</html>

  综合上面的例子得出结论:

  对于Vue组件化编程过程中的命名:

  第一种方法:组件定义的名称、属性、Props参数名称以及在父组件中使用的时候全部采用小写字母。

  第二种方法:组件定义、Props参数命名采用camelCase(驼峰命名法),而在父组件中使用的时候采用kebab-case命名法。

猜你喜欢

转载自blog.csdn.net/dawn0718/article/details/128694782