广告
返回顶部
首页 > 资讯 > 精选 >Vue.js组件是什么
  • 305
分享到

Vue.js组件是什么

2023-06-29 08:06:51 305人浏览 八月长安
摘要

这篇文章给大家分享的是有关vue.js组件是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Vue.js组件的本质及相应的渲染实现引言如果你正在使用Vue.js,那么我想你一定对Vue单文件组件(SFC)不陌生

这篇文章给大家分享的是有关vue.js组件是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Vue.js组件的本质及相应的渲染实现

引言

如果你正在使用Vue.js,那么我想你一定对Vue单文件组件(SFC)不陌生,它是Vue.js框架提供的一种文件格式,在绝大多数应用场景中都是Vue.js官方推荐的项目组织形式,本文就让我们以单文件组件为源去回溯一下组件的本质。

什么是组件

在Vue.js中,单文件组件可以认为是对Vue.js组件的进一步封装,它杂糅了htmljavascript以及CSS三种元素的特点,以<template><script><style>三大块将与一个组件相关的视图、逻辑以及样式整合到了一个基本的特殊文件单位之中,下面是一个单文件组件的示例:

Vue.js组件是什么

你可能不知道,其实在Vue.js内部,上述单文件组件会经由@vue/compiler-sfc编译为标准的JavaScript和CSS,编译后的JavaScript文件可能如下(个人推测,如错,烦请指正):

Vue.js组件是什么

这个函数的返回值是不是很熟悉?这就是一个虚拟DOM对象,在这里你就可以称这个函数为组件!(如果你对虚拟DOM还不熟悉,请参阅我的这篇笔记-为什么Vue.js中要采用虚拟DOM)

对,这就是组件,组件的实质其实就是对一组DOM元素的封装。现在,让我们自己定义一个组件来熟悉巩固一下:

Vue.js组件是什么

综上,我们可以定义一个函数来代表组件,而函数的返回值就代表组件要渲染的内容。

组件的渲染

从上文可以看到,组件的返回值就是虚拟DOM对象,它代表着组件想要渲染的内容。那么在Vue.js中组件是如何渲染的呢?(如果你对Vue.js中虚拟DOM的渲染原理还不甚了解,可以参阅一下我这篇笔记-浅析Vue.js的运行时编译)

为了更加直观地描述,我们先用一个虚拟DOM对象中的tag标签来储存组件函数:

Vue.js组件是什么

你可能对这种描述不是太熟悉,因为以前接触到的虚拟DOM可能都是用tag属性值来描述HTML标签,其实,只要得到渲染器的支持,tag: MyComponent是完全符合语法的。此时,负责把虚拟DOM渲染为真实DOM的渲染器代码实现原理如下:

Vue.js组件是什么

组件的拓展

还记得组件的实质是什么吗?组件的实质就是对一组DOM元素的封装!那么问题来了,在上文中一直都是用一个函数来自定义组件,但是组件的表示方式只能是函数吗?不不不,当然不是,你完全可以使用一个JavaScript对象来自定义组件,如下:

Vue.js组件是什么

在这个MyComponent对象中,属性render函数的返回值是一个虚拟DOM对象,代表着此组件的渲染内容。相应的,为了能够正常使用对象组件渲染DOM,需要对上述举例的渲染器做相应的修改适配,修改如下:

Vue.js组件是什么

在上述代码中,vnode.tag就是表达组件的对象。其实在Vue.js中也有使用对象结构来表达的组件,即有状态组件。

感谢各位的阅读!关于“Vue.js组件是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Vue.js组件是什么

本文链接: https://www.lsjlt.com/news/323841.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue.js组件是什么
    这篇文章给大家分享的是有关Vue.js组件是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Vue.js组件的本质及相应的渲染实现引言如果你正在使用Vue.js,那么我想你一定对Vue单文件组件(SFC)不陌生...
    99+
    2023-06-29
  • Vue.js函数式组件是什么
    这篇文章主要为大家展示了“Vue.js函数式组件是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue.js函数式组件是什么”这篇文章吧。前言如果你是一位前端开发者,又在某些机会下阅读过一些...
    99+
    2023-06-25
  • Vue.js 3.0 中Suspense组件的作用是什么
    今天就跟大家聊聊有关Vue.js 3.0 中Suspense组件的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Suspense组件到底是...
    99+
    2022-10-19
  • Vue.js中组件怎么用
    这篇文章主要介绍Vue.js中组件怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、基本用法在使用 vue-cli 创建的项目中,组件的创建非常方便,只需要新建一个 .vue ...
    99+
    2022-10-19
  • 什么是Bootstrap组件
    这篇文章主要介绍“什么是Bootstrap组件”,在日常操作中,相信很多人在什么是Bootstrap组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Bootstrap...
    99+
    2022-10-19
  • 什么是MSScriptControl.ScriptControl组件
    本篇内容主要讲解“什么是MSScriptControl.ScriptControl组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是MSScriptControl.ScriptContro...
    99+
    2023-06-08
  • ViewPropertyObjectAnmator组件是什么
    这篇文章主要介绍了ViewPropertyObjectAnmator组件是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ViewPropertyObjectAnimato...
    99+
    2023-06-05
  • Vue.js组件化怎么实现
    本文小编为大家详细介绍“Vue.js组件化怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue.js组件化怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在这个组织复杂界面问题中,Vue 与 Re...
    99+
    2023-06-27
  • vue.js中什么是事件处理器
    这期内容当中小编将会给大家带来有关vue.js中什么是事件处理器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。监听事件可以用v-on指令监听DOM事件来触发一些javas...
    99+
    2022-10-19
  • vue.js中怎么封装table组件
    这篇文章将为大家详细讲解有关vue.js中怎么封装table组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。为什么封装首先为什么封装,是因为追求技术吗,不,是因为懒,不想一直的去粘贴,所以...
    99+
    2023-06-20
  • 怎么创建Vue.js中的单文件组件
    本篇内容主要讲解“怎么创建Vue.js中的单文件组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么创建Vue.js中的单文件组件”吧!什么是单文件组件Vue.js中的单文件组件将HTML,C...
    99+
    2023-07-06
  • ADO.NET组件技巧是什么
    本篇内容主要讲解“ADO.NET组件技巧是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET组件技巧是什么”吧!示例中的代码假定您可以连接到 Microsoft SQL Serve...
    99+
    2023-06-17
  • springcloud五大组件是什么
    springcloud五大组件是:1、Eureka,一个RESTful服务,用来定位运行在AWS地区中的中间层服务;2、Ribbon,一个基于HTTP和TCP的客户端负载均衡工具;3、Hystrix,防止一个应用程序多次试图执行一个操作;4...
    99+
    2023-07-17
  • react状态组件是什么
    这篇文章主要介绍了react状态组件是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 react状态组件有2...
    99+
    2022-10-19
  • vue高阶组件是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。高阶组件介绍vue 高阶组件的认识,在React中组件是以复用代码实现的,而Vue中是以mixins 实现,并且官方文档中也缺少一些高阶组件的概念,因为在vue中实现高阶...
    99+
    2023-05-14
    vue高阶组件
  • vue.js 动态组件详解
    :is 动态组件 使用 v-bind:is=”组件名”,会自动去找匹配的组件名,如果没有,则不显示; <div id="app"> <test v-bi...
    99+
    2022-11-12
  • Vue.js移动端组件库atom-design中手势组件怎么用
    这篇文章将为大家详细讲解有关Vue.js移动端组件库atom-design中手势组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。介绍atom-design经过几个...
    99+
    2022-10-19
  • angular组件通讯和组件生命周期是什么
    本文小编为大家详细介绍“angular组件通讯和组件生命周期是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“angular组件通讯和组件生命周期是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2022-10-19
  • SimpleFramework组件的机制是什么
    这篇文章主要讲解了“SimpleFramework组件的机制是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SimpleFramework组件的机制是什么”吧!框架模式:Web应用中,无...
    99+
    2023-06-17
  • Vue组件的概念是什么
    本篇内容介绍了“Vue组件的概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在多次使用到相同的函数和相同的HTML代码时,可以考虑抽...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作