VUE进阶篇Part9(render函数)

本文详细介绍了Vue的render函数,包括初步理解、参数解析、this.$slots的应用、props数据传递、v-model的使用、作用域插槽以及函数组件化的实践。通过多个示例展示了如何在render函数中构建组件并实现不同功能。
摘要由CSDN通过智能技术生成

这里介绍一下render函数。

作用:使用render函数就不需要在template中一点点的写html了,可以通过函数去构建,实际上render函数就是用来构建一个组件的

这里分为以下几点去讲解,每个都有一个小例子:

1、render函数的初步了解
2、render函数的第一个参数
3、render函数的第二个参数
4、render函数的第三个参数
5、this.$slots在render函数中的应用
6、通过props在render函数中传递数据
7、v-model在render函数中的应用
8、作用域插槽在render函数中的使用
9、函数组件化

1、render函数的初步了解

需求:向子组件传递一个数,如果传递的是1,那么内容就会被h1包裹

<child v-bind:level="level">
我是孙笑川
</child>
data:{
   
	level:1
},
components:{
   
	'child':{
   
		props:['level'],
		render:function(createElement){
   
			return createElement('h' + this.level,
				this.$slots.default
			)
		}
	}
}
2、render函数的第一个参数

在render函数中的参数必须是createElement,这个createElement是function

createElement作为返回值,传入的参数有三个,这里的先介绍第一个,第一个参数可以传入 String | Object | Function 其中之一

<child></child>
data:{
   },
components:{
   
	'child':{
   
		render:function(createElement){
   
			//String - html标签
			//return createElement('div')
			
			//Object - 一个有数据的对象
			//return createElemnt({
   
			//	template:'<div>我是孙笑川</div>'
			//})

			//Function - 函数返回一个含有数据的对象
			var domFun = function(){
   
				return {
   
					template:'<div>我是孙笑川</div>'
				}
			}
			return createElement(domFun())
		}
	}
}
3、render函数的第二个参数

第二个参数是可选参数,并且之能是数据对象Object

<child></child>
components: {
   
    'child': {
   
        //第一个参数必选
        render: function (createElement) {
   
            //String - html标签
            return createElement({
   
                template: '<div>我是孙笑川</div>'
            }, {
   
                    class: {
   
                   
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值