zoukankan      html  css  js  c++  java
  • vue中的this.$emit(‘input‘,this.val);是什么意思?

    子组件在传值的时候,选用input,如this.$emit(‘input’,val),在父组件直接用v-model绑定,就可以获取到了

    而子组件也可以通过$emit(‘input’,false),去改变父组件中v-model 和 子组件中 value 的值 。
    例子:

    子组件

    <template>
        <div>
            <div class="group">
                <label>{{title}}</label>
                <input type="text" placeholder="请输入" @input="changeData()" v-model="val">
            </div>
        </div>
    </template>
    
    <template>
        <div>
            <div class="group">
                <label>{{title}}</label>
                <input type="text" placeholder="请输入" @input="$emit('input', $event.target.value)"  v-model="val">
            </div>
        </div>
    </template>
    
    <script>
    export default {
        props:["title"],
        data () {
            return {
                val:""
            }
        },
        methods:{
            changeData:function(){
                console.log(111);
                this.$emit('input',this.val);
            }
        }
    }
    </script>

    父组件:

    <cmsGroup title="用户名" v-model="username"></cmsGroup>

    其中,子组件this.$emit(‘input’,this.val); v-model 绑定的是 input 事件

    vue 再父子组件传值时,除了传统的父组件 :属性去传值外,还可以使用 父组件v-model传值,子组件props[‘value’]接收,

    <!--父组件-->
     
    <template>
       <test v-model = "isShow"></test>
       <button @click="isShow = !isShow">switch</button>
    </template>
    <script>
       import test from '../test';
       export default {
          components: {
             test
          },
          data() {
             return {
               isShow: false
             }
          }
       }
    </script>
    <!--子组件-->
     
    <template>
      <div>
       <div>{{value}}</div>
       <Button @click="$emit('input',false)">关闭</Button>
      </div>
    </template>
    <script type="text/ecmascript-6">
        export default {
            props:['value'],
            mounted() {
                console.log(this.value)
            }
        }
    </script>

    參考---https://blog.csdn.net/qq_26642611/article/details/104055048

  • 相关阅读:
    webim-界面细节调整
    使用PHP得到所有的HTTP请求头_还有应答头
    Bootstrap学习的点点滴滴
    asterisk中eyebeam与移动的IMS帐号对接
    总结Ajax跨域调用问题
    Spring【基础】-注解-转载
    Spring-【高阶】注解-转载
    让你的IDEA倍爽
    IDEA的git密码修改
    Idea设置签名
  • 原文地址:https://www.cnblogs.com/pwindy/p/14845397.html
Copyright © 2011-2022 走看看