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

  • 车辆购置税怎么交网上缴费
  • 其他个人出租房屋按照多少征收应纳税额
  • 增值税专用发票抵扣期限
  • 开模具厂一年能挣多少钱
  • 房屋出租收到的租金会计分录
  • 公司名称变更期间可以投标吗
  • 红字发票盖章吗
  • 免交的附加税需要计提吗
  • 汽车折旧年限 税法
  • 销售商品房属于什么税
  • 销售人员的销售总额怎么算
  • 需不需要交企业所得税看报表的哪个地方?
  • 印花税计入税金及附加什么时候开始
  • 有限公司缴税
  • 快消品应收账款风险策划方案
  • 滞留发票是什么意思
  • 月末主营业务收入结转会计分录
  • 摊销生产车间负担的保险费
  • 计提房产税的会计分录怎样做
  • 购进免税农产品怎么计算进项税额
  • 计提工资时个税是计提上月的吗
  • 广告传媒公司的成本是什么
  • 出口退税的会计分录实例
  • 捐赠视同销售为什么不确认收入?
  • 怎么获得win10纯净版
  • 代垫费用的进项怎么抵扣
  • 已认证进项税发票可抵扣么
  • 工程竣工结算和决算的区别
  • macos big sur值得升级吗
  • 其他综合收益的来源
  • 什么叫存续分立
  • 大群的芒基蝠鲼跃出水面,墨西哥加利福尼亚湾 (© Mark Carwardine/Minden Pictures)
  • php全局变量和局部变量
  • 前端axios请求怎么中断
  • ip6tables-restore命令 还原ip6tables表
  • 用现金报销差旅费及增值税怎么做账
  • 出口免税和退税的区别
  • 销售返利的账务处理购买方
  • 银行收到企业存款会计分录
  • java 访问者模式
  • Vue 拖拽排序
  • 纳税申报的流程如何?面试怎么说
  • 公司全部股权转让流程
  • 一般纳税人公司出售旧车怎么开票
  • 现金流量表年报本期金额和上期金额
  • 分公司能不能作为行政处罚的主体
  • 申请名称预先核准在哪个网站
  • 个体工商户是什么意思
  • 怎么才能不开发票
  • 无形资产专利技术属于
  • 库存商品期末为负数
  • 服装厂布料都是在哪里进的
  • 税前扣除怎么理解
  • 预提费用如何做账务处理
  • 公司控股的子公司 法人能被追加吗
  • 公益募捐的基金是什么
  • 收到供应商赠送原材料
  • 营改增后工程项目计价规则也随之发生了改变对还是错
  • 删除mysql数据库命令
  • Windows Server 2008中安装DNS服务器详细图文教程
  • fedora gnome
  • telnet root
  • eac.exe是什么
  • 在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker的步骤
  • centos 发行版
  • win7笔记本电池电量显示怎么设置
  • 你需要windows7sp1才能安装ie11
  • Android ViewStub 布局延迟加载
  • 项目总结之触摸问题分析
  • texture packer工具
  • js深度拷贝的方法
  • Node.js中的事件循环是什么
  • 同一内容复制到多个单元格
  • vue js 页面代码分离
  • unity入门教学
  • android(8) ViewPager页面滑动切换
  • python爬虫京东
  • express常用api
  • 环保税怎么申报?看完你就明白了
  • 江苏省国税局客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设