zoukankan      html  css  js  c++  java
  • vue 自定义组件使用v-model(组件通信方式1)

    父组件通过v-model传递值给子组件时,会自动传递一个value的prop属性,在子组件中通过this.$emit(‘input’,val)自动修改父组件v-model绑定的值
    child:
    <template>
    <div>
    <input type="text" v-model="mymessage" @change="changeValue">
    </div>
    </template>

    <script>
    export default {
    name: "child",
    model:{
    prop: "mymessage",
    event: "change"
    },这段代码可以忽略
    props:{
    value:String //v-model会自动传递一个字段为value的prop属性
    },
    data(){
    return {
    mymessage:this.value
    }
    },
    methods:{
    changeValue(){
    this.$emit('input',this.mymessage);//通过如此调用可以改变父组件上v-model绑定的值
    }
    }
    }
    </script>
    parent:
    <template>
    <div>
    <p>this is parent compoent!</p>
    <p>{{message}}</p>
    <child v-model="message"></child>
    </div>
    </template>

    <script>
    import child from '../components/child'
    export default {
    name: "parent",
    data(){
    return {
    message:'hello'
    }
    },
    components:{
    child
    }
    }
    </script>
    以上代码可以写成子组件通过接收props父亲传递的数据,子组件通过$emit发射事件将父组件的input值message更改,代码如下:
    child:
    <template>
    <div>
    <input type="text" v-model="mymessage" @change="changeValue">
    </div>
    </template>

    <script>
    export default {
    name: "childOne",
    props:{
    value:String, //v-model会自动传递一个字段为value的prop属性
    },
    data(){
    return {
    mymessage:this.value
    }
    },
    methods:{
    changeValue(){
    this.$emit('input',this.mymessage);//通过如此调用可以改变父组件上v-model绑定的值
    }
    }
    }
    </script>
    parents:
    <template>
    <div>
    <p>{{message}}</p>
    <childone @input="handleMessage"></childone>//监听子组件发射的事件input,将input的value值更改

    </div>
    </template>

    <script>
    import childone from '../components/childOne'
    export default {
    name: "parentOne",
    components:{
    childone
    },
    data(){
    return {
    message:'hello'
    }
    },
    methods:{
    handleMessage(val){
    this.message = val
    }
    }
    }
    </script>

     

     
     
  • 相关阅读:
    IP 封包中的 Header 的 Protocol 字段的 值
    二叉树算法题
    PageFile Swap File
    Quick sort C# code(2)
    VS中Sos调试扩展简介 (转帖)
    BUG: "Old format or invalid type library" error when automating Excel on 64 bit server 2008
    Sql server 2005 connection string
    让IE支持自己的协议
    偶然间,我发现了一个秘密能使盗版的windowsXP变成正版
    Excel C# Automation
  • 原文地址:https://www.cnblogs.com/zhx119/p/10535268.html
Copyright © 2011-2022 走看看