vue父子组件实现v-model

话很少说,直接上代码javascript

<div id="app">java

<price-input v-bind:value="price" v-on:input="price = arguments[0]" ></price-input>app

<price-input v-model='price' ></price-input>this

<p>{{price}}</p>spa

</div>code

 

<script type="text/javascript ">component

Vue.component('price-input', {blog

template: '<input :value="value " @input="updateVal" type="text ">',ip

props: ["value "],get

methods: {

updateVal: function() {

let val = event.target.value

this.$emit('input',val);

}

}

});

var app = new Vue({

el: '#app',

data: {

price: ''

},

});

</script>

 

 

大体流程为子组件的输入值改变,触发oninput方法,进而经过emit触发实例上的input方法,进而给父组件中的状态赋值。

demo示例

相关文章
相关标签/搜索