位置: 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平米小平层户型)

  • 非税收入包括哪些来源
  • 待抵扣税金怎么算
  • 为员工集中购买医疗保险
  • 发票税率金额如何得出
  • 支付给外包公司的工资备注怎么写
  • 资产负债表固定资产清理怎么填
  • 清产核资与清算的关系
  • 现金折扣要扣除折扣金额入账吗
  • 进项抵扣怎么操作
  • 企业每个月都要关账吗
  • 营改增的税收政策
  • 以股权转让名义转让土地使用权
  • 公司客车高速费如何抵扣进项税?
  • 年底开发票需要交企业所得税吗?
  • 账面价值大于计税基础产生什么差异
  • 开票资料中没有电话可以吗
  • 收取手续费的委托代销 发票谁来开
  • 企业车辆保险费要按什么交印花税的
  • 公司周年庆典费用计入什么科目
  • 残联备案还能补缴社保吗
  • 加工贸易的方式
  • 收到财政奖励扶持资金账务处理?
  • 利息收入营业收入
  • linux系统安装浏览器
  • psbcie.exe是什么
  • php输出mysql
  • owmngr.exe - owmngr是什么进程 作用是什么
  • 逾期未退保证金怎么办
  • 对股权奖励的计算公式
  • 企业受赠业务的法律规定
  • 广告费与业务宣传费范围
  • vue生命周期钩子函数
  • 员工预支款计入什么科目
  • 当月计提的公积金怎么取
  • 个人独资企业用企业资金进行个人消费
  • 注册资本认缴出资日期是什么意思
  • 个税专项附加扣除标准2023
  • 餐饮税务每个月多少钱
  • 商品流通企业税费按征收对象可分为
  • 企业征收所得税会计分录
  • 材料报废如何做分录
  • 工程前期费用包含哪些
  • 非居民企业境内所得
  • 人力资源服务费是什么意思
  • 买断式与回购式
  • 实务操作中如何快速记忆
  • 工程施工费怎么开票
  • 变更公司名称后银行如何做
  • 总账会计工作流程表
  • 没有期初数据如何建账
  • linux实现mysql数据库每天自动备份定时备份
  • window系统怎么查看
  • linux中git命令
  • bearshare.exe进程安全吗 bearshare是什么进程
  • win8.1玩英雄联盟
  • windows7桌面右击
  • windows7怎
  • window10关闭
  • 远程调试linux
  • Jquery ajax 同步阻塞引起的UI线程阻塞问题
  • nodejs 代码加密
  • linux安装jdk和tomcat
  • replace函数怎么替换
  • eclipse awt
  • web jquery
  • 瀑布流 css
  • 浏览器窗口上线怎么办
  • jquery中keyup
  • jquery弹出div遮罩层
  • 数字动画文件格式有哪些
  • python3 functools
  • 个人可以免费开店的平台有哪些
  • 复函地税务机关对自产货物原材料向上游发函
  • 通用机油防伪查询
  • 税控盘开票怎么赋码的教程
  • 西宁市房屋维修基金收费标准2021
  • 外汇业务税务备案
  • 福州市税务局领导班子成员名单
  • 食堂增值服务有哪些
  • 利润表中所得税费用包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设