Vue局部组件和全局组件

Vue中的局部组件和全局组件

    Vue中我们在定义组件时,需要先创建一个组件构造器,然后再跟据实际情况,采用局部组件定义和全局组件定义。
    首先我先说一下为什么使用自定义组件,我们再写前端代码时候会遇到代码重复性高,或者说是代码冗余,观赏性不美观,我简单举个例子:
我们想让这个div中的内容重复出现多次,我们会多复制几行

在这里插入图片描述
运行结果:
在这里插入图片描述
当我们想着多复制几行,会这样做
在这里插入图片描述
结果就是:
在这里插入图片描述
但是如果我们采用了Vue中自定义组件会使得浏览性更美观简洁:

<script type="text/javascript">
//步骤1.组件构造器
		const cpn = Vue.extend({  //这边是我们自定义的模板
			template:`  
			<div>
		       <h2>你好,ld</h2>
			   <h2>你也好<h2>
			</div>
			`,
			})
		//步骤2.全局注册组件
		Vue.component('my-cpn',cpn);  //cpn为构造器对象,'my-cpn'是自定义的组件,我们就可以在body中写入我们自定义的组件了
		const app = new Vue({
			el:'#app',
		})
		</script>

在这里插入图片描述
结果:
在这里插入图片描述

上面是定义了一个全局的组件,这个组件可以在任意创建Vue实例中使用,那么局部组件 是怎样的形式呢?
我来简单演示一下:

	const cpn2 = Vue.extend({
			template:
				`<div>
				   <p>你好</p>
				   <p>你好呀</p>
				   <mycpn></mycpn>
				</div>`,
		})
		const app = new Vue(
		{
			el:'#app',
	        components:       //在vue实例中组测组件,那么她只能在这个实例下进行应用
			{
				mycpn2:cpn2    //自定义组件名称:构造实例对象
			}
		})

在这里插入图片描述

局部组件就意味着它只能在Vue实例化中使用。那如果我在实例以外运行呢?
我演示一下:
在这里插入图片描述
我们不难看出来它只能在上面的div中显示出来,而下面的还是显示mycpn2,这就是因为我们自定义的组件mycpn2是局部的组件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值