首页 > 其他 > 详细

vue自定义组件实现v-model双向绑定

时间:2020-06-17 18:16:38      阅读:149      评论:0      收藏:0      [点我收藏+]

父级组件

<template>
  <div id="app">
    <button @click="clickme">click me</button>
    <img alt="Vue logo" src="./assets/logo.png" />
    <HelloWorld msg="Welcome to Your Vue.js App" v-model="show" />
  </div>
</template>

<script>
import HelloWorld from "./components/HelloWorld.vue";

export default {
  name: "App",
  data() {
    return {
      show: true
    };
  },
  components: {
    HelloWorld
  },
  methods: {
    clickme() {
      this.show = !this.show;
    }
  }
};
</script>

 

子组件

<template>
  <div class="hello" v-show="value">
    <h1>{{ msg }}</h1>
    <button @click="clickme">click child</button>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  props: {
    msg: String,
    value: Boolean// 获取父级组件传递的value
  },
  updated() {},
  methods: {
    clickme() {
      const newval = !this.value;
      this.$emit("input", newval); //v-model实现的是v-bind:value 和v-on:input,这句更新父级组件的value
    }
  }
};
</script>

 

vue自定义组件实现v-model双向绑定

原文:https://www.cnblogs.com/xbzhu/p/13153756.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!