1.render函数的介绍

在vue中我们经常使用HTML模板语法来组建页面。
除此之外,使用还可以使用render函数来创建页面。 因为vue是虚拟DOM,拿到template模板时也要转译成VNode的函数。
而直接使用render函数构建DOM。vue就免去了转译的过程。 通过上面这两句话,我们可以发现有这样一个结论:
HTML模板语法来组建页面的渲染过程:
包含模板编译器:1.html字符串[就是template中的html]==》2.render函数==》3.VNode==》4.真实的节点
不包含模板编译器:1.render函数==》2.VNode==》3.真实的节点
也就是说:使用render函数编译的页面,由于少了一层【模板编译】。
渲染的速度要快一些。 render函数的参数是 createElement 函数。
createElement函数还有约定的简写叫h函数。
vm中有一个方法_c,也是这个函数的别名。
createElement 函数的返回值是一个虚拟节点。就是VNode。
也就是我们要渲染的节点。
render(h){
return h('div',{
//第二个参数
class:{
'is-red': this.isRed
}
},
//第三个参数
[h('p','这是一个render')]
);

2.h函数的三个参数

第一个参数是必须的。
类型:{String | Object | Function}
一个 HTML 标签名、一个组件、一个异步组件、或一个函数式组件。
是要渲染的html标签。
第一个参数div 是表示创建一个div的元素 第二个参数是可选的。
类型:{Object} 主要是当前html中的各种属性。
如attrs,class,style等
在开发时。建议传,实在没有传的时候,传入 null 第三个参数可选的。
类型:{String | Array | Object} children
虚拟子节点(vnodes),当前html标签的元素。
参考地址:https://www.cnblogs.com/weichen913/p/9676210.html

如何使用render函数实现以下html

 <div :class="{'is-red':isRed }">
<p>这是一个render</p>
</div>

render函数这样使用

创建一个XXX.js文件 代码如下

// 这是render函数的使用方法
export default{
data(){
return{
isRed:true,
arr:[1,2,3,4],
inputValue:""
}
},
// h 最终创建的是一个元素
// 第一个参数div 是表示创建一个div区域的元素
// 第二个参数class表示的是这个div上有一个属性
// 第三个参数可以是数组,表示div元素下的子元素
render(h){
return h('div',{//第二个参数
class:{
'is-red': this.isRed
}
},
//第三个参数
[h('p','这是一个render')] );
}
}
在使用的页面上引入注册(跟组件一样)
import aa from "./myrender"
components:{
aa
}
<aa></aa>



vue render函数的简单使用(1)的更多相关文章

  1. vue render函数 函数组件化

    之前创建的锚点标题组件是比较简单,没有管理或者监听任何传递给他的状态,也没有生命周期方法,它只是一个接受参数的函数 在这个例子中,我们标记组件为functional,这意味它是无状态(没有data), ...

  2. vue render函数

    基础 vue推荐在绝大多数情况下使用template来创建你的html.然而在一些场景中,你真的需要javascript的完全编程能力.这就是render函数.它比template更接近编译器 < ...

  3. vue render函数解析

    一.render 函数的作用: 写一些vue.js的template太繁琐,利用render,可以使用js来生成模板,更加灵活和简便. 二.使用render前提: 官网也说了.在深入渲染函数之前推荐阅 ...

  4. [转]iview render函数常用总结(vue render函数)

    原文地址:https://blog.csdn.net/weixin_43206949/article/details/89385550 iview 的render函数就是vue的render函数ivi ...

  5. vue render函数使用jsx语法 可以使用v-model语法 vuex实现数据持久化

    render函数使用jsx语法: 安装插件  transform-vue-jsx 可以使用v-model语法安装插件 jsx-v-model .babelrc文件配置: vuex实现数据持久化 安装插 ...

  6. render函数的简单使用

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Vue render函数 函数时组件 jsx

    常规组件使用 定义组件 components/list/list.vue <template> <ul> <li v-for="(item, index) in ...

  8. 会使用基本的Render函数后,就会想,这怎么用 v-for/v-if/v-model;我写个vue Render函数进阶

    https://blog.csdn.net/wngzhem/article/details/54291024

  9. Vue渲染函数

    前面的话 Vue 推荐在绝大多数情况下使用 template 来创建HTML.然而在一些场景中,真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更 ...

  10. iview中table的render()函数

    Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更接 ...

随机推荐

  1. 面对 Log4j2 漏洞,安全人都做了什么?

    摘要:本文从漏洞复现.漏洞防护.漏洞检测.软件供应链安全等方面,介绍安全人针对该漏洞做的尝试. 本文分享自华为云社区<面对 Log4j2 漏洞,安全人都做了什么?>,作者:maijun. ...

  2. 万字长文|Hadoop入门笔记(附资料)

    大数据迅速发展,但是Hadoop的基础地位一直没有改变.理解并掌握Hadoop相关知识对于之后的相关组件学习有着地基的作用.本文整理了Hadoop基础理论知识与常用组件介绍,虽然有一些组件已经不太常用 ...

  3. SpringBoot java 一个接口,多个实现,客户定制化

    产品定制化时,在不同的客户中会有不同的需求,这时候会产生,一个接口,多个实现 SpringBoot ,如果发现有多实现时,会报如下错误 Consider marking one of the bean ...

  4. Sublime Ctrl+B 编译输出乱码

    1.输入乱码如图 2.Preferences -> Browse Packages.. 3.加入  "env": { "PYTHONIOENCODING" ...

  5. umount.nfs4: /home/videorec/sharedir: device is busy

    用umount取消挂载时报错设备繁忙:device is busy.原因是还有进程在打开目录下的文件,可以先杀死进程,再卸载,或者强制卸载 umount 使用umount强制卸载,参数如下: -l  ...

  6. jdk1.8: Consumer函数

    场景: 当我们在a方法中,需要把某些参数赋值给一个Integer类型的对象,而该对象只有在b方法才能赋值,那么我们可以在a方法中使用consumer记录我们要执行的操作,再把consumer作为参数传 ...

  7. js根据对象数组中某一属性值,合并相同项,并对某一属性累加处理

    https://www.cnblogs.com/mahao1993/p/13491430.html

  8. uni-app实现扫码签到

    1 uni.scanCode({ 2 success: res => { 3 this.$http({ 4 url: '/checkin/scanSign', 5 data: { 6 codeI ...

  9. vue实现word或pdf文档导出的功能

    https://www.jianshu.com/p/73915ef6ac89 Vue - element-ui 中预览 word .exce.ppt以及pdf文件 https://blog.csdn. ...

  10. 改变函数内this指向方法——call、apply、bind

    javascript为我们专门提供了一些函数方法来帮我们更优雅的处理函数内部this的指向问题,常用的有bind( ).call( ).apply( )三种方法. 相同点: 都可以改变函数内部的thi ...