以前用其他的ui组件库,不明白他们是怎么能用这个语法糖的,
自己写多了,觉得这样很舒服。。。。。
子组件
<view
class="evaluate"
:style="value == true ? 'display:flex' : 'display:none'"
>
<button @click='off'></button>
</view>
数据
props: {
value: {
type: Boolean,
default: () => true,
},
},
方法
methods: {
off() {
this.$emit('input', false)
},
}
父组件引入
<child v-model='switch'/>
data{
switch:false
}
这里$emit(’input‘) 必须发送input事件,定义在子组件内的数据,也必须是value,
为什么要固定这个事件和数据名,后来看官网文档,实际上是语法糖,默认v-model就是使用这两个进行绑定的,
当然也可以换成v-model.lazy 那么发送的数据方法名为change,可以试一下