如何理解vue中的全局组件和局部组件

清浅
Lepaskan: 2019-04-19 10:23:17
asal
6540 orang telah melayarinya

vue中的全局组件指的是可以在应用程序中的任何位置使用的组件,而局部组件指的是未在全局组件中注册的组件,因此只能使用于局部。

在Vue中组件的出现是为了拆分Vue实例的代码量,让我们以不同的组件来划分不同的功能模块。在代码中我们需要何种功能就去调用相应的组件就可以了。接下来要介绍的是全局组件和局部组件的区别,具有一定的参考作用,希望对大家有所帮助。

如何理解vue中的全局组件和局部组件

【推荐教程:Vue教程

全局组件指的是可以在应用程序中的任何位置使用的组件,包括在其他组件中

局部组件指的是未在全局组件中注册的组件,因此只能在注册它的组件上使用

例:

<div id="app">
	<contact-us></contact-us>
</div>
Salin selepas log masuk
Vue.component(&#39;contact-us&#39;, {	data: function() {		
return {			
email: &#39;info@mycompany.com&#39;
		};
	},
	template: `
		<div>
			<h1>Contact Us</h1>
			<p>Please send an e-mail to: {{ email }}</p>
		</div>
	`});new Vue({	el: &#39;#app&#39;,});
Salin selepas log masuk

上述代码的组件实际上是一个全局组件,因为我们在全局Vue对象上使用组件方法去注册它。这样就意味着我们可以随意的使用它。

如何将全局组件设置成局部组件

先将组件对象存储在变量中

var contactUs = {	data: function() {		
return {			
email: &#39;info@mycompany.com&#39;
		};
	},
	template: `
		<div>
			<h1>Contact Us</h1>
			<p>Please send an e-mail to: {{ email }}</p>
		</div>
	`};
Salin selepas log masuk

然后在Vue实例中,我们可以添加一个components属性,其中包含我们想要局部注册的组件。此属性应该是一个对象,并包含标记名称和配置对象的键值对。

new Vue({	
el: &#39;#app&#39;,	
components: {		
&#39;contact-us&#39;: contactUs
	}});
Salin selepas log masuk

请注意,在此示例中,已将components属性添加到Vue实例,但也可以将其添加到另一个组件。

运行代码后会看到该组件已经正常工作了。但是为了证明该组件是局部的而不是全局的将添加另一个Vue实例并更改现有实例的选择器。

new Vue({	
el: &#39;#app1&#39;,	
components: {		
&#39;contact-us&#39;: contactUs
}});new Vue({	el: &#39;#app2&#39;,});
Salin selepas log masuk
<div id="app1">
	<contact-us></contact-us>
</div>
<div id="app2">
	<contact-us></contact-us>
</div>
Salin selepas log masuk

如何理解vue中的全局组件和局部组件

现在我们只看到一次呈现的联系人组件,即使我们在模板中使用了两次标签。

它出现在第一个Vue实例中,因为我们已将其注册为局部组件,但第二个Vue实例不知道如何处理标记。查看一下浏览器的控制台,浏览器报错说未注册该组件

如何理解vue中的全局组件和局部组件

因此,要注册全局组件,请使用Vue.component方法,对于局部组件,应使用Vue实例或其他组件中的components属性。

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

Atas ialah kandungan terperinci 如何理解vue中的全局组件和局部组件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan