iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vuerender函数使用详细讲解
  • 672
分享到

Vuerender函数使用详细讲解

Vuerender函数Vuerender 2023-01-17 18:01:32 672人浏览 泡泡鱼
摘要

目录Dom什么是render函数render函数的返回值(Vnode)template与render简单的render函数什么时候使用RenderDom 在浏览器中通过js来操作DO

Dom

在浏览器中通过js来操作DOM的操作性能很差,于是虚拟Dom应运而生。虚拟Dom就是在js中模拟DOM对象树来优化DOM操作的一种技术或思路。

虚拟DOM并不是真正意义上的DOM,它作为一个轻量级的javascript对象,在状态发生变化时,会进行Diff运算,来更新发生变化的DOM,对于未发生变化的DOM节点,不予操作,由于不是全部重绘,大大提高更新渲染性能。

什么是render函数

Vue中我们使用模板html语法组建页面,通过render函数用js语言来构建DOM。

因为vue是虚拟DOM,所以在拿到template模板时也要转译成VNode的函数,而用render函数构建DOM,vue就免去了转译的过程。

render函数构建DOM需要用到vue提供的工具createElement函数,约定简写h。

render函数的返回值(VNode)

VNode(即:虚拟节点),也就是我们要渲染的节点。

template与render

Template适合逻辑简单,render适合复杂逻辑。render的性能较高,template性能较低。

当存在template与render时,优先展示template(render不展示)

<template>
  <div>gggg</div>
</template>
...
render() {
    return <div>我收到的</div>;
}

简单的render函数

render:(h) => {
    return h('div',{
      //给div绑定value属性
        props: {
            value:''
        },
        //给div绑定样式
        staticStyle:{
            width:'30px'
        }, 
        //给div绑定点击事件  
        on: {
            click: () => {
                console.log('点击事件')
            }
        },
    })
}    

ts-vue的写法

render() {
    return this.$createElement('div', {
      on: {
        ...this.$listeners,
        click: event => {
          console.log(event);
        },
      },
      props: this.props || {value:''},
      attrs: {
        businessId: this.field.pkId,
      },
      style: {
        width:'30px'
      }
    });
  }
 render() {
    return (
      <thead>
        <tr class="ant-table-thead--extra">
          {this.title}
        </tr>
        {this.$slots.default}
      </thead>
    );
  }

循环构建:

 render() {
    return (
      <ACheckboxGroup
        class="checkbox-list"
        value={this.value.map(item => item.id)}
      >
        {this.dataList.map(item => (
          <ACheckbox
            key={item.id}
            checked={this.checked(item)}
            value={item.id}
            onChange={$event => this.handleChange($event, item)}
          >
            {item.name}
          </ACheckbox>
        ))}
      </ACheckboxGroup>
    );
  }

分开定义引用:

render() {
    const triggerAction = (
      <div class="button-list-content--item">
        <span>{this.$t(TriggerActionNameEnum[this.value.triggerAction])}</span>
      </div>
    );
    const fORMName = (
      <div class="button-list-content--item">
        <span>{this.value?.triggerData?.formName || ''}</span>
      </div>
    );
    const updateFields = (
      <div class="button-list-content--item">
        <span class="button-list-content--field" title={this.updateFieldName}>
          {this.updateFieldName}
        </span>
      </div>
    );
    return this.value.triggerAction === TriggerActionEnum.UPDATE ? (
      <div>
        {triggerAction}
        {updateFields}
      </div>
    ) : (
      <div>
        {triggerAction}
        {formName}
      </div>
    );
  }

动态绑定

render() {
    const { setting } = this.data;
    return (
        <div class={this.$style.item}>
          <FormCardStyle silhouette={true} type={setting.template} />
        </div>
    );
  }

什么时候使用Render

自定义组件的时候。

<script>
    import { Component, Prop, Vue } from 'vue-property-decorator';
    @Component()
    class Wrap extends Vue {
       render() {
         return <div>自定义组件A</div>
       }
    }
    @Component()
    export default class FormTableActionBar extends Vue {
        ...
        render() {
            return (
                <div>
                    <p>下面是自定义组件A</p>
                    <Wrap></Wrap>
                </div>
            )
        }
    }
</script>

到此这篇关于Vue render函数使用详细讲解的文章就介绍到这了,更多相关Vue render函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vuerender函数使用详细讲解

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

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

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

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

下载Word文档
猜你喜欢
  • Vuerender函数使用详细讲解
    目录Dom什么是render函数render函数的返回值(VNode)template与render简单的render函数什么时候使用RenderDom 在浏览器中通过js来操作DO...
    99+
    2023-01-17
    Vue render函数 Vue render
  • VUErender函数使用和详解
    目录前言render的作用render函数讲解render和template的区别render举例总结 前言 在平时编程时,大部分是通过template来创建html。但是在一些特殊...
    99+
    2024-04-02
  • GoLang函数栈的使用详细讲解
    目录函数栈帧寄存器函数栈帧 我们的代码会被编译成机器指令并写入到可执行文件,当程序执行时,可执行文件被加载到内存,这些机器指令会被存储到虚拟地址空间中的代码段,在代码段内部,指令是低...
    99+
    2023-02-02
    Go函数栈 GoLang函数栈
  • C语言详细讲解qsort函数的使用
    目录qsort1.int型2.float型3.struct型qsort 功能:Performs a quick sort.(快速排序)参数:void qsort( void *bas...
    99+
    2024-04-02
  • python中Path函数讲解【详细】
    文章目录 1、Path函数的基本功能2、常见用法2.1 表示路径2.2 路径的拼接和分解2.3 获取路径 1、Path函数的基本功能 使用pathlib模块来处理文件和文...
    99+
    2023-09-01
    深度学习 图像处理 python
  • C语言超详细讲解getchar函数的使用
    目录一、getchar 函数二、缓冲区1、什么是缓冲区2、为什么要存在缓冲区3、缓冲区的类型4、缓冲区的刷新三、getchar 函数的正确使用1、getchar 的换行问题2、get...
    99+
    2024-04-02
  • MySQL窗口函数OVER使用示例详细讲解
    目录窗口函数测试数据表及数据窗口函数空窗口窗口中只有 ORDER BY窗口中只有 PARTITION BY 时同时有 PARTITION BY 与 ORDER BY窗口函数 OVER (PARTITION BY xxx ...
    99+
    2023-01-05
    MySQL 窗口函数 窗口函数OVER MySQL OVER函数
  • JavaScala偏函数与偏应用函数超详细讲解
    目录偏函数isDefinedAtorElseandThenapplyOrElse偏应用函数偏函数 偏函数(Partial Function),是一个数学概念它不是"函数&q...
    99+
    2023-05-14
    Java Scala偏函数 Java Scala偏应用函数
  • C++超详细讲解函数对象
    目录一、客户需求二、存在的问题三、解决方案四、函数对象五、小结一、客户需求 编写一个函数 函数可以获得斐波那契数列每项的值每调用一次返回一个值函数可根据需要重复使用 下面来看第一个...
    99+
    2024-04-02
  • C++超详细讲解析构函数
    目录特性析构函数处理自定义类型编译器生成的默认析构函数特性 析构函数是特殊的成员函数 特征如下: 析构函数名是~类名;无参数无返回值;一个类有且只有一个析构函数;对象声明周期结束,编...
    99+
    2024-04-02
  • C++超详细讲解构造函数
    目录类的6个默认成员函数构造函数特性编译器生成的默认构造函数成员变量的命名风格类的6个默认成员函数 如果我们写了一个类,这个类我们只写了成员变量没有定义成员函数,那么这个类中就没有函...
    99+
    2024-04-02
  • Pandas绘图函数超详细讲解
    目录简介条形图折线图箱线图直方图饼图散点图和六边形分箱图简介 method绘图类别method绘图类别'line'折线图[默认使用]'area'堆叠面...
    99+
    2022-12-20
    Pandas绘图函数 Python绘图函数
  • C++超详细讲解函数重载
    目录1 函数重载的定义2 构成函数重载的条件3 编译器调用重载函数的准则4 函数重载的注意事项4.1 避开重载带有指定默认值参数的函数4.2 注意函数重载遇上函数指针4.3 C++编...
    99+
    2024-04-02
  • C++详细讲解常用math函数的用法
    目录1、fabs(double x)2、floor(double x)ceil(double x)3、pow(double x,double n)4、sqrt(double x)5、...
    99+
    2024-04-02
  • C语言超详细讲解库函数
    目录1 返回整数的getchar函数2 更新顺序文件3 缓冲输出与内存分配4 库函数练习1 返回整数的getchar函数 代码: #include<stdio.h> ...
    99+
    2024-04-02
  • C++BoostTokenizer使用详细讲解
    目录介绍示例一示例二示例三示例四示例五示例六示例七介绍 库 Boost.Tokenizer 允许您通过将某些字符解释为分隔符来迭代字符串中的部分表达式。使用 boost::token...
    99+
    2022-11-16
    C++ Boost Tokenizer C++ Boost Tokenizer功能与使用
  • JavaScript函数扩展与箭头函数超详细讲解
    目录函数参数扩展rest参数箭头函数箭头函数的使用规范箭头函数的嵌套箭头函数案例函数参数扩展 ES6 允许给函数参数赋初始值: 形参初始值 具有默认值的参数,一般位置要靠后(潜规则)...
    99+
    2022-11-13
    JavaScript函数扩展 JavaScript箭头函数
  • C++超详细讲解拷贝构造函数
    目录构造函数特征编译器生成的拷贝构造拷贝构造的初始化列表显式定义拷贝构造的误区结论构造函数 只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对...
    99+
    2024-04-02
  • C++超详细分析讲解内联函数
    目录宏函数(带参数的宏)的缺点inline修饰的函数就是内联函数内联函数的特点宏函数和内联函数的区别宏函数(带参数的宏)的缺点 第一个问题:宏函数看起来像一个函数调用,但是会有隐藏一...
    99+
    2024-04-02
  • C语言函数超详细讲解上篇
    目录前言1、函数是什么?2、C语言中函数的分类2.1 库函数2.1.1 如何学会使用库函数2.1.2 自定义函数3、函数的参数3.1 实际参数(实参)3.2 形式参数(形参)4、函数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作