vue render函数实战

当我们需要页面动态改变时,就需要render函数

render函数的特点就是没有html标签 没有template模版 只有script标签 跟react很像

例子:table.vue

<script>
    export default {
        props: ['items'],
        render: function(createElement) {
            let self = this
            console.log(this)
            return createElement(
                'div', [
                    createElement('input',{
                        'class': {
                          foo: true,
                        },
                        domProps: {
                          value: self.items
                        }
                    }),
                    createElement('div', self.childinput),
                    createElement('input', {
                        domProps: {
                            value: self.childinput
                        },
                        on: {
                            input: function (event) {
                                self.childinput = event.target.value
                            }
                        }
                    })
                ]
            )
        },
        data() {
            return {
                childinput: 'childinput'
            }
        },
        watch: {
            childinput(v) {
                console.log(v)
            }
        }
    }
</script>

<style scoped>
.child {
    background: pink
}
.more {
    background: red
}
</style>

引用方式 

<template>
  <div class="nopower">
     <child :items="name">
        <h1 slot="childheader">childheader</h1>
        <h2 slot="childbody">childbody</h2>
        <h3 slot="childfooter">childfooter</h3>
     </child>
  </div>
</template>
<script>
import Vue from 'vue'
import child from './../components/table.vue'
export default {
   components: {
       child
   },
   data(){
       return {
           name:'mingzi'
       }
   },
}
</script>

有solt 有传参 简单易懂

标签传递items参数

props: ['items'],接收

昨天发了一篇extend的文章 现在想想 我们可以render一个页面 用extend可以new 多个实例 貌似可以!

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值