当前位置:首页 » 《休闲阅读》 » 正文

在vue2使用v-model对组件进行双向绑定

18 人参与  2024年03月31日 08:50  分类 : 《休闲阅读》  评论

点击全文阅读


1. 默认情况

v-model=“visible” 等价于 :value=“visible” 加上 @input=“visible = $event”

所以 v-model 就是父组件向子组件传了个 value 字段的值,子组件使用 props 定义 value 字段, 就可以在子组件使用 value 读取这个值;子组件使用 $emit(‘input’,值) 就可以改变 v-model 的值
父组件

<template>  <div id="app">    <Tab v-model="visible" />  </div></template><script>import Tab from "./components/Tab.vue"export default {  name: "App",  data() {    return {      visible: true,    }  },  components: { Tab },}</script><style></style><script/>

子组件

<template>  <div v-show="value">    我是子组件文字    <button @click="$emit('input', false)">关闭</button>  </div></template><script>export default {  props: {    value: {      type: Boolean,      default: false,    },  },}</script>

2. 子组件改变默认字段名与事件

父组件

<template>  <div id="app">    <Tab v-model="visible" />  </div></template><script>import Tab from "./components/Tab.vue"export default {  name: "App",  data() {    return {      visible: true,    }  },  components: { Tab },}</script><style></style>

子组件

<template>  <div v-show="show">    我是子组件文字    <button @click="$emit('change', false)">关闭</button>  </div></template><script>export default {  model: {    prop: "show",    event: "change",  },  props: {    show: {      type: Boolean,      default: false,    },  },}</script>

子组件定义了以下代码就回改变默认字段

    model: {       prop: "show",       event: "change",    }

此时,v-model=“visible” 等价于 :show=“visible” 加上 @change=“visible = $event”


点击全文阅读


本文链接:http://zhangshiyu.com/post/88396.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1