vue父子組件實現v-model


話不多說,直接上代碼

<div id="app">

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

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

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

</div>

 

<script type="text/javascript ">

Vue.component('price-input', {

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

props: ["value "],

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示例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM