Vue 3系列之04——Vue 3组件与Web组件的异同点

Posted _waylau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 3系列之04——Vue 3组件与Web组件的异同点相关的知识,希望对你有一定的参考价值。

读者们可能已经注意到,Vue组件与自定义元素(Custom Elements)非常相似,自定义元素是Web组件规范(Web Components Spec)的一部分(https://www.w3.org/wiki/WebComponents/)。这是因为Vue的组件语法是松散地按照规范建模的。例如,Vue组件实现了Slot API(https://github.com/WICG/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md)和is特殊属性。除此之外,Vue组件和Web组件有一些关键的区别:

  • Web组件规范虽然已最终确定,但并非都每个浏览器都原生支持。Safari 10.1+、Chrome 54+和Firefox 63+等是原生支持Web组件的。相比之下,Vue组件在所有受支持的浏览器(包括IE11)中都能一致工作。当需要时,Vue组件还可以包装在原生自定义元素中。
  • Vue组件提供了普通自定义元素中无法提供的重要功能,最明显的是跨组件数据流、自定义事件通信和构建工具集成。

虽然Vue内部不使用自定义元素,但在作为自定义元素消费或分发时,它具有很好的互操作性(https://custom-elements-everywhere.com/#vue)。Vue CLI还支持构建Vue组件,这些组件将自己注册为原生自定义元素。

参考引用

  • 本系列归档至《跟老卫学 Vue.js 开发》:https://github.com/waylau/vuejs-enterprise-application-development
  • 参考书籍《Vue.js 3 企业级应用开发实战》(柳伟卫著,电子工业出版社出版)::https://item.jd.com/13624356.html

以上是关于Vue 3系列之04——Vue 3组件与Web组件的异同点的主要内容,如果未能解决你的问题,请参考以下文章

Vue 3系列之04——Vue 3组件与Web组件的异同点

使用 vue-cli 3 将 vue 依赖项捆绑到 Web 组件构建中

Vue.js900- Vue 3.0 进阶之 VNode 探秘

Vue组件库工程探索与实践之构建工具

web前端面试高频考点——Vue的高级特性(动态组件异步加载keep-alivemixinVuexVue-Router)

如何在 Vue 3 中使用来自 Vue2 Web 组件的插槽?