vue render函数

render函数接收一个参数createElement,这个参数createElement又是一个函数,render函数必须返回一个createElement,而这个createElement按照vue的套路一般简写成单词h,createElement函数接收三个参数:

 

参数一:需要创建的标签,一般是一个字符串如'div' ,也可以是对象或者函数

写法示例:

    Vue.component('child', {
        props: ['level'],
        render: function (createElement) {
            //string:html标签
            return createElement('h1')
            //object:一个含有数据选项的对象
            return createElement({
                template: '<div>谈笑风生</div>'
            })
            //function:返回一个含有数据选项的对象
            var domFun = function () {
                return {
                    template: `<div>谈笑风生</div>`
                }
            }
            return createElement(domFun())
        }
    })

参数二:参数一的一些属性、绑定值等等,如样式style,一般写成对象形式

写法示例:

h("Icon", {
                // 接收的参数
                props: {
                  type: "md-archive",
                },
                // 元素的样式
                style: {
                  marginLeft: "7px",
                  fontSize: "16px",
                  cursor: "pointer",
                },
                // 元素绑定的事件
                on: {
                  click: () => {
                    this.$refs.table.exportCsv({
                      filename: "The original data",
                    });
                  },
                },
              }),
  h("Icon", {
                props: {
                  type: "ios-print",
                },
                style: {
                  marginLeft: "7px",
                  fontSize: "16px",
                  cursor: "pointer",
                },
                // 自定义指令
                directives: [
                  {
                    name: "print", // 自定义指令(不包括前缀'v')
                    value: "#printObj", // 指令绑定的值
                  },
                ],
              }),

参数三:第一个参数的子元素,这个可以是字符串也可以是数组形式、具体看你第一个元素包含多少个子元素

注:如果h的参数只有两个,且第二个参数是数组或者字符串形式那就表示第二个参数是子元素

参考资料:Vue-render函数的三个参数 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值