vue中的全局组件指的是可以在应用程序中的任何位置使用的组件,而局部组件指的是未在全局组件中注册的组件,因此只能使用于局部。
在Vue中组件的出现是为了拆分Vue实例的代码量,让我们以不同的组件来划分不同的功能模块。在代码中我们需要何种功能就去调用相应的组件就可以了。接下来要介绍的是全局组件和局部组件的区别,具有一定的参考作用,希望对大家有所帮助。
【推荐教程:Vue教程】
全局组件指的是可以在应用程序中的任何位置使用的组件,包括在其他组件中
局部组件指的是未在全局组件中注册的组件,因此只能在注册它的组件上使用
例:
<div id="app"> <contact-us></contact-us> </div>
Vue.component('contact-us', { data: function() { return { email: 'info@mycompany.com' }; }, template: ` <div> <h1>Contact Us</h1> <p>Please send an e-mail to: {{ email }}</p> </div> `});new Vue({ el: '#app',});
上述代码的组件实际上是一个全局组件,因为我们在全局Vue对象上使用组件方法去注册它。这样就意味着我们可以随意的使用它。
如何将全局组件设置成局部组件
先将组件对象存储在变量中
var contactUs = { data: function() { return { email: 'info@mycompany.com' }; }, template: ` <div> <h1>Contact Us</h1> <p>Please send an e-mail to: {{ email }}</p> </div> `};
然后在Vue实例中,我们可以添加一个components属性,其中包含我们想要局部注册的组件。此属性应该是一个对象,并包含标记名称和配置对象的键值对。
new Vue({ el: '#app', components: { 'contact-us': contactUs }});
请注意,在此示例中,已将components属性添加到Vue实例,但也可以将其添加到另一个组件。
运行代码后会看到该组件已经正常工作了。但是为了证明该组件是局部的而不是全局的将添加另一个Vue实例并更改现有实例的选择器。
new Vue({ el: '#app1', components: { 'contact-us': contactUs }});new Vue({ el: '#app2',});
<div id="app1"> <contact-us></contact-us> </div> <div id="app2"> <contact-us></contact-us> </div>
现在我们只看到一次呈现的联系人组件,即使我们在模板中使用了两次标签。
它出现在第一个Vue实例中,因为我们已将其注册为局部组件,但第二个Vue实例不知道如何处理标记。查看一下浏览器的控制台,浏览器报错说未注册该组件
因此,要注册全局组件,请使用Vue.component方法,对于局部组件,应使用Vue实例或其他组件中的components属性。
总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。
以上就是如何理解vue中的全局组件和局部组件的详细内容,更多请关注爱上源码网其它相关文章!
- 上一篇:如何理解vue中的生命周期(钩子函数)
- 下一篇:javascript异步编程方法有哪些
相关文章
相关视频
- Vue全局组件与局部组件详解
- vue全局组件总结
- 使用Vue如何制作自定义全局组件
- 如何理解vue中的全局组件和局部组件
- vue.js组件1(父向子组件传参)
- 深入vue组件
本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn!
本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
爱上源码下载网 » 如何理解vue中的全局组件和局部组件
常见问题FAQ
- 从网站下载的源码都有安装教程么?不会安装怎么办?
- 本站发布的网站源码和模板资源大部分在压缩包内都有教程,如您不会安装可以联系本站在线技术进行付费安装。
- 爱上源码的所有源码都是亲测能正常运行的么?
- 我手中的优质资源可以在你这换钱或者VIP么?
- 爱上源码除了资源分享还有其他业务没?