位置: IT常识 - 正文

vue中的render函数(通俗、易懂)(vue render ref)

编辑:rootadmin
vue中的render函数(通俗、易懂) 文章目录一、初步认识render函数二、为什么使用render函数三、render函数的解析一、初步认识render函数import Vue from 'vue'import App from './App'Vue.config.productionTip = falsenew Vue({ el: '#app', render: h => h(App)})

推荐整理分享vue中的render函数(通俗、易懂)(vue render ref),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue的render的作用和参数,vuejs render,vue render方法,vue.render函数,vue render ref,vue.render函数,vue之render函数详解,vue.render函数,内容如对您有帮助,希望把文章链接给更多的朋友!

在使用脚手架创建vue项目的过程,我们很容易看到render这个函数,相对于其他标签,我们对于render还是比较陌生的,因此写下这篇文章你我共同理解。

二、为什么使用render函数

VUE推荐在绝大多数情况下使用template来创建我们的HTML。然而在一些场景中,我们真的需要JavaScript的完全编程的能力,这就是render函数,它比template更接近编译器。(这是官方的话) 简单来说,我们为什么要使用render函数呢?? 便是因为我们最经常使用的一个引入。

import Vue from "vue";

这一个引入你看似没有任何问题,但问题恰恰就是出在这。在不同版本的vue中,有vue.js和vue.runtime.xxx.js这两种js文件。其中(1)vue.js是完整版的vue,包含核心功能+模板解析器。(2)vue.runtime.xxx.js是运行版vue,只包含核心功能,没有模板解析器。

vue中的render函数(通俗、易懂)(vue render ref)

VUE开发者为了让我们打包的文件能尽可能小一点,在上述引入的是运行版vue。因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,这时候就需要使用render函数去接收到的createElement函数去指定具体内容,创建html模板。

三、render函数的解析

render 函数即渲染函数,它是个函数,它的参数 createElement 也是个函数。

上边的代码中 render: h => h(App) ,这是 ES6的箭头函数的写法,可以把 h 当作 createElement 的别名。所以这段代码其实相当于:

render: function (createElement) { return createElement(App)}

这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,返回给 Vue.js 的 mount 函数,渲染成真实 DOM 节点,并挂载到根节点上。

createElement 函数的返回值是 VNode(即:虚拟节点) 有关对 VNode的介绍可以看这篇博客:VNode简介

createElement 函数的3个参数

一个 HTML 标签字符串,组件选项对象,或者解析上述任何一种的一个 async 异步函数。类型:String | Object | Function。必需。一个包含模板相关属性的数据对象,你可以在 template 中使用这些特性。类型:Object。可选。子虚拟节点 (VNodes),由 createElement() 构建而成,也可以使用字符串来生成“文本虚拟节点”。类型:String | Array。可选。new Vue({ el: '#app', render:function (createElement) { //1.普通用法 // createElement(标签,{属性},[内容]) return createElement("h2",{class:"box"},['hello',createElement("button",["按钮"])]) }})

同时createElement也可以传进去一个组件,因此

render: h => h(App)

等同于

render:function (createElement) { return createElement(App) }

render函数就到此结束了。

本文链接地址:https://www.jiuchutong.com/zhishi/300008.html 转载请保留说明!

上一篇:5个 ChatGPT 功能,帮助你提升日常编码效率

下一篇:这可能是最好、最详细的VSCode开发uni-app教程吧(这可能是最好的144平米小平层户型)

  • ipad怎么设置一排6个应用(ipad怎么设置一键锁屏)

    ipad怎么设置一排6个应用(ipad怎么设置一键锁屏)

  • apple watch7键盘在哪里(applewatch键盘在哪)

    apple watch7键盘在哪里(applewatch键盘在哪)

  • vivo NEX 3s搭载的是哪个处理器(vivo nex3s 5g)

    vivo NEX 3s搭载的是哪个处理器(vivo nex3s 5g)

  • 淘宝可以微信支付吗(微信小商店怎么上架商品)

    淘宝可以微信支付吗(微信小商店怎么上架商品)

  • 无法在此ipad上激活触控id(无法在此ipad上激活触控id怎么办)

    无法在此ipad上激活触控id(无法在此ipad上激活触控id怎么办)

  • 12寸屏幕长宽是多少(12寸屏幕长宽是多少英寸)

    12寸屏幕长宽是多少(12寸屏幕长宽是多少英寸)

  • 纳米技术用在什么地方(纳米技术用在什么上面)

    纳米技术用在什么地方(纳米技术用在什么上面)

  • 辅助触控开了但是没了(辅助触控不能用了)

    辅助触控开了但是没了(辅助触控不能用了)

  • 荣耀9x是不是电池不耐用(荣耀9x的电池是锂电池吗)

    荣耀9x是不是电池不耐用(荣耀9x的电池是锂电池吗)

  • 小米笔记本开机黑屏(小米笔记本开机密码忘记了怎么打开)

    小米笔记本开机黑屏(小米笔记本开机密码忘记了怎么打开)

  • 苹果6打电话对方听不见怎么办(苹果6打电话对方听到声音小)

    苹果6打电话对方听不见怎么办(苹果6打电话对方听到声音小)

  • vivocamera&music是什么型号(vivocamera&music是什么手机)

    vivocamera&music是什么型号(vivocamera&music是什么手机)

  • 华为删除的照片怎么找回(华为手机删除的照片如何恢复)

    华为删除的照片怎么找回(华为手机删除的照片如何恢复)

  • iphonex有分屏功能吗(iphonex可以分屏)

    iphonex有分屏功能吗(iphonex可以分屏)

  • 蓝牙mesh有什么用(蓝牙mesh wifi mesh)

    蓝牙mesh有什么用(蓝牙mesh wifi mesh)

  • pentium2几位处理器(pentium处理器)

    pentium2几位处理器(pentium处理器)

  • 如何把iphone数据导入新iphone(如何把iphone数据导入macbook)

    如何把iphone数据导入新iphone(如何把iphone数据导入macbook)

  • 华为matex屏幕是塑料的吗

    华为matex屏幕是塑料的吗

  • x27有红外线功能吗(x27带红外功能吗)

    x27有红外线功能吗(x27带红外功能吗)

  • 想删除微信好友怎么办(想删除微信好友但又碍于面子)

    想删除微信好友怎么办(想删除微信好友但又碍于面子)

  • 苹果有线耳机怎么用(苹果有线耳机怎么设置)

    苹果有线耳机怎么用(苹果有线耳机怎么设置)

  • 蓝牙耳机有一边没声音怎么办(蓝牙耳机有一边不亮了是为什么)

    蓝牙耳机有一边没声音怎么办(蓝牙耳机有一边不亮了是为什么)

  • 如何隐藏手机号码打电话(打举报电话如何隐藏手机号)

    如何隐藏手机号码打电话(打举报电话如何隐藏手机号)

  • windows10如何进入安全模式(windows10如何进入dos)

    windows10如何进入安全模式(windows10如何进入dos)

  • mac系统怎么删除Launchpad中的应用图标?(mac系统怎么删除用户)

    mac系统怎么删除Launchpad中的应用图标?(mac系统怎么删除用户)

  • vue3项目中使用three.js(vue3用法)

    vue3项目中使用three.js(vue3用法)

  • history命令  显示与管理历史命令记录(windows history命令)

    history命令 显示与管理历史命令记录(windows history命令)

  • 非营利组织所得税
  • 预缴增值税的销售额怎么填
  • 企业如何进行纳税申报
  • 增量留抵税额怎么做分录
  • 全额计提坏账准备后,多久核销应收账款
  • 六个点的税率是小规模吗
  • 金蝶以前年度损益调整属于哪类科目
  • 所有逾期未抵扣进项税额
  • 二手车融资租赁公司
  • 国税对个体户征收哪些税?
  • 土地租金一次付清的会计处理怎么做?
  • 税收编码名称是什么
  • 申报退税金额是0是怎么回事
  • 进口代理公司怎么收费
  • 生产企业出口退税的会计分录
  • 租金收入增值税纳税义务
  • 最新土地增值税实施细则
  • 全资子公司向母公司提供劳务服务怎么做账
  • 银行存款日记账和现金日记账的区别
  • 固定资产入账会计
  • 账上少了25元怎么做账
  • 小型微利企业收入超过300
  • 递延所得税资产和递延所得税负债
  • u盘安装win8系统步骤
  • 公司认缴出资怎么交税
  • 购货方收到红字发票怎么报税
  • 铁路运输企业所得税优惠
  • 房屋装修补偿款 避税
  • thinkphp钩子场景
  • 被辞退有补助金吗
  • 股权换股权会计分录
  • 红字发票开具后蓝字发票开具时限的问题
  • 什么是非征期税未报
  • php php.ini
  • php验证身份证号
  • 被称为下一代风华的是
  • opencv识别车牌
  • chk命令
  • php array合并
  • ls -all命令
  • python如何删除字典中的键值对
  • 增值税专用发票几个点
  • 增值税专票只有右上角有发票号码
  • 研发费用资本化可以加计扣除吗
  • 增值税普通发票几个点
  • 当期进项加计额怎么填
  • 差旅费的处理
  • mysql Non-Transactional Database Only(只支持MyISAM)
  • 定期定额怎么申报个人所得税
  • 其他应付款是什么类账户
  • 可转债中签卖出流程
  • 主营业务成本工资写什么部门
  • 业务招待费的扣除标准60%什么意思
  • 金税盘费用抵扣账务处理
  • 购进货物未取得增值税专用发票可以抵扣进项税额吗
  • 报表其他非流动资产
  • 收到红字发票怎么做账怎么做进项税额转出
  • win10安装mysql教程
  • 文档介绍
  • 安装office提示
  • crypt什么文件
  • centos的命令
  • 卸载软件后整个盘都清空了
  • 腾讯tp驱动
  • win10系统开机后任务栏无响应怎么解决
  • cocos2dx-js
  • linux管道定义
  • dos命令怎么输入命令
  • 批处理重启后继续运行
  • web标准有哪些方面
  • pycharm安装教程2020.2
  • js的继承方式
  • linux查看远程服务是否开启
  • android 笔记软件推荐
  • pyinstaller指定python2
  • Android4.4 wpa_supplicant深入分析之wpa_supplicant初始化流程
  • jQuery模仿阿里云购买服务器选择购买时间长度的代码
  • 国家税务局通用手工发票
  • 有限合伙企业怎么交税
  • 数电发票抄报税操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设