render java_render 实现v-model

吐槽一下,官网上的例子不太适用,一般都是从已有的组件上开发了,哪会直接用input来搞,以element-ui为例,演示如何通过render实现v-model

v-model的本质是通过绑定组件的value和input(绝大多数)来实现双向绑定,拆开来是组件的value绑定父组件的data数据,当data数据改变时,组件的value因为被绑定了,所以data的变化会触发value的变化,换个方向,要想组件的value改变了,需要在input事件里通知data,由此改变data,这样就能达到双向绑定的效果。在render里面,从data到组件的value方向绑定比较容易,如果是组件到data,则直接给data赋值更新即可

例子

父组件

let root = {

data:test,

render:function(h){

let self = this;

return h('el-input',{

props:{

// data绑定到value

value:self.$data.test

},

on:{

input:function(value){

// 拿到data直接赋值

self.$data.test = value

}

}

})

}

}

new Vue(root).$mount(id);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值