直接在子組件使用v-model=“props傳遞的父屬性”是會爆出警告的,也不符合vue 的設計思想,所以可以如下寫法:
父組件:
<template>
<div>
<Test1 :curVal="val" @change-val="setVal"/>
</div>
</template>
<script>
import Test1 from "@/components/Test1.vue";
export default {
name: "Home",
data() {
return {
val:''
};
},
components: {
Test1
},
methods:{
setVal(val){
this.val=val;
}
}
};
</script>
<style lang="less" scoped>
</style>
子組件:
<template>
<div>
<el-button type="success">成功按鈕</el-button>
<br>
<el-input v-model="val" @input="changeVal" placeholder="請輸入內容"></el-input>
</div>
</template>
<script>
export default {
name:'Test1',
props:['curVal'],
data(){
return {
val:''
}
},
methods:{
changeVal(val){
this.$emit('change-val',this.val)
}
}
};
</script>
<style lang="less" scoped>
</style>
這里用到了elementui 想要運行代碼的同學可以下載一下編譯后使用
