zoukankan      html  css  js  c++  java
  • vue自定义组件实现v-model双向绑定

    父级组件

    <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>
  • 相关阅读:
    使用cordova开发移动app时用form表单的submit时遇到的问题
    收藏链接
    Hibernate总结
    MyBatis基本应用
    Java中字符串(String)总结
    SpringMVC
    SpringIOC----注解
    栈与堆的区别
    IOS模型
    Java Web容器的启动过程
  • 原文地址:https://www.cnblogs.com/xbzhu/p/13153756.html
Copyright © 2011-2022 走看看