发布时间:2023-05-28 文章分类:WEB开发, 电脑百科 投稿人:李佳 字号: 默认 | | 超大 打印
    • 组件上使用v-model

官网解释:允许一个自定义组件在使用 v-model 时定制 prop 和 event。

默认情况下,一个组件上的 v-model 会把 value 用作 prop

且把 input 用作 event,

但是一些输入类型比如单选框和复选框按钮可能想使用 value prop 来达到不同的目的。

使用 model 选项可以回避这些情况产生的冲突。

简单来讲就是将组件实现数据双向绑定的效果,

需要注意的是自定义组件字眼表明其主要的使用场景是在组件内部,

后面的那一大段是说明缘由的

————————————————

原文链接:https://blog.csdn.net/seimeii/article/details/121854665

    • 组件上使用v-model

之前我们要在子组件改变父组件里面控制子组件状态的字段,需要$emit一个方法,还需要在父组件绑定方法就非常麻烦,像如下写法

Vue之model属性

父组件中

Vue之model属性

用model这种方式就显得极为简单,只要在父组件中v-model绑定,在子组件定义model的prop和event就可以实现子组件内部改变父子组件关联的值,不需要再emit出方法到父组件

父组件中:

<followUpModal ref="followUpModal" v-model="followUpModalVisible"></followUpModal>

子组件中:

Vue之model属性
Vue之model属性

这样写省去了父组件绑定方法,简单了好多

代码再粘贴一下下啦,有的小懒虫可以直接复制

<el-dialog
:title="modalTitle"
:visible.sync="followUpModalVisible"
width="50%"
center
:modal="false"
class="tool-dialog"
@close="onclose"
destroy-on-closecloseBriefModal
:close-on-click-modal="false">
<div>test</div>
</el-dialog>
  model: {
prop: 'followUpModalVisible',
event: 'changeVisible',
},
props: {
followUpModalVisible: {
type: Boolean,
default() {
return false;
},
},
},
  methods: {
// 点击关闭抽屉层
onclose() {
// 修改model中的值
this.$emit('changeVisible', false);image.png
},
},