<input v-model="searchText">
等价于
<input v-bind:value="searchText" v-on:input="searchText = $event.target.value" >
下面直接举例
父组件:
<template>
<div>
<basetest v-model="textvalue">
<!--插槽可以放任何模板代码,甚至是组件(不能访问子组件数据)-->
我是default插槽{{msg}}
<!--具名插槽-->
<template v-slot:head>
<div>我是head插槽</div>
</template>
</basetest>
{{textvalue}}
</div>
</template>
<script>
import basetest from './basetest';
export default {
components:{
basetest: basetest
},
data(){
return {
textvalue: '',
msg: '333'
}
}
}
</script>
子组件:
<template>
<div>
<div><input type="text" :value="value" @input="myfunc"></div>
<label>
<slot>没有提供内容的时候显示</slot>
</label>
<span>
<slot name="head"></slot>
</span>
<button @click="btnFun">取我的值</button>
</div>
</template>
<script>
export default {
model:{
prop: 'value',
event: 'testFunc'
},
props: {
value: ''
},
methods:{
myfunc(e){
this.$emit('testFunc', e.target.value)
},
btnFun(){
this.$emit('testFunc', 'yyyyyy')
}
}
}
</script>
只要触发了testFunc方法,都能改变父组件textvalue的值
posted on
浙公网安备 33010602011771号