首页 > 其他分享 >vue2,3render函数的简单使用

vue2,3render函数的简单使用

时间:2023-10-10 17:14:19浏览次数:39  
标签:函数 render DOM 元素 虚拟 vue2 组件 3render

render 函数的主要作用:

  1. 创建虚拟 DOM:render 函数负责创建虚拟 DOM 元素,这些元素以 JavaScript 对象的形式表示页面的结构和内容。

  2. 根据状态和数据生成 UI:render 函数根据组件的状态(data 数据)、属性(props)、计算属性(computed)、方法(methods)等信息,生成虚拟 DOM,包括元素、组件、事件处理等。

  3. 渲染动态内容:render 函数允许你动态生成内容,因此你可以在组件内部根据条件、循环、计算等逻辑来生成不同的虚拟 DOM。

  4. 响应式更新:当组件的状态或数据发生变化时,Vue.js 会自动重新运行 render 函数以生成新的虚拟 DOM,然后比较新旧虚拟 DOM,找出变化的部分,最后更新实际的 DOM。

Vue2和3之间的区别是: Vue2用的是 createElement 函数去创建虚拟DOM元素,vue3呢是用h(或者使用createVNode)函数去创建虚拟DOM元素,更加简洁,还有就是Vue3引入Composition API,允许使用setup函数去编写组件逻辑,包括render函数,使得逻辑更加灵活可组合

vue3render例子:

App.vue:

<template>   <div id="app">     <h1>什么是Vue中的Render函数?</h1>     <Heading tag="ul" />   </div> </template>
<script> import Heading from './Heading' export default {   components: {     Heading   } } </script>
<style lang="stylus"> #app   font-family Avenir, Helvetica, Arial, sans-serif   -webkit-font-smoothing antialiased   -moz-osx-font-smoothing grayscale   text-align center   color #2c3e50   margin-top 60px </style>

Heading.vue:

<script> import { h } from 'vue' export default {   props: {     tag: String   },   data () {     return {       people: ['红', '黄', '蓝']     }   },   render () {     return h(this.tag, {}, this.people.map(name => h('li', {}, `${name}`)))     // 传入的元素createElement('标签/组件名', {选项}, '可以是子元素,也可以是文本节点')   } } </script>
<style>
</style>

实现效果:

vue2的话将代码中的h更换成createElement就可以了。

 

 

 

标签:函数,render,DOM,元素,虚拟,vue2,组件,3render
From: https://www.cnblogs.com/Ly021/p/17755165.html

相关文章

  • 详解如何通过JavaScript实现函数重载
    有的同学在开发中可能遇到过一个困扰,但是很少有人去解决这个问题,我这用一个例子展现出来constsearcher={};searcher.findAll=()=>{console.log("查询所有用户");};searcher.findByName=(name)=>{console.log("按照用户名称查询");};searcher.findByFirstN......
  • sql server 编写函数,去除小数点后多余的0
    sqlserver编写函数,去除小数点后多余的0要在SQLServer中编写一个函数来去除小数点后多余的零,你可以使用以下示例的方法:CREATEFUNCTIONdbo.RemoveTrailingZeros(@inputDECIMAL(18,6))RETURNSVARCHAR(255)ASBEGINDECLARE@resultVARCHAR(255);--将DE......
  • 学习笔记426—keras中to_categorical函数解析
    keras中to_categorical函数解析1.to_categorical的功能简单来说,to_categorical就是将类别向量转换为二进制(只有0和1)的矩阵类型表示。其表现为将原有的类别向量转换为独热编码的形式。先上代码看一下效果:fromkeras.utils.np_utilsimport*#类别向量定义b=[0,1,2,3,4,5,6,7......
  • 学习笔记425—train_test_split 函数介绍
    train_test_split函数介绍在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从sklearn.model_selection中调用train_test_split函数 简单用法如下:X_train,X_test,y_train,y_test=sklearn.model_selection.train_test_split(train_data,train_targe......
  • Python函数式编程进阶
    函数式编程函数式编程是一种基于函数的编程范式,它通过编写函数来描述程序的行为。函数被视为一等公民,可以作为参数、返回值和变量来使用。函数式编程通常使用高阶函数、不可变数据和递归等技术来描述程序的行为。命令式编程:基于指令的编程范式,它通过编写一系列指令来描述程......
  • C语言 - 函数指针
    1.基本概念函数指针:首先它是一个指针,一个指向函数的指针,在内存空间中存放的是函数的地址; 1.1函数指针的定义形式函数指针的定义:函数的返回值类型(*指针名)(函数的参数列表类型) 1.2函数指针的使用方法#include<stdio.h>//返回两个数中的最大值intmax(inta,int......
  • Python 中的round函数
    在python2.7的doc中,round()的最后写着,"Values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done away from 0." 保留值将保留到离上一位更近的一端(四舍六入),如果距离两端一......
  • oracle中to_char(), to_date() ,ROUND(),NVL(), DECODE(), EXTRACT()等函数的使用
    1.to_char()将时间日期按照指定的格式输出,得到的是字符串,而非date类型。只要被转换的是一个日期,yyyy,mm,dd中间加不加连接符,加什么连接符都可以2.todate()将字符串按照指定的格式输出,得到的是日期类型。第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有......
  • lambda 函数
     概念介绍:匿名函数:是指一类无需定义标识符(函数名)的函数或子程序 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突......
  • map()函数
    1.函数作用:map()函数是python的一个内置函数,它的功能是:将指定的函数,依次作用于可迭代对象的每个元素,并返回一个迭代器对象。这个迭代器可以是一个,也可以是多个 2.map()的语法:map(function,iterable,...)参数:function-我们指定的函数(或数据类型),可以是python内......