zoukankan      html  css  js  c++  java
  • VUE $EMIT事件

    总结:

    子组件传出单个参数时
    子组件传递参数 this.$emit('parent-event',childparam)
    父组件传递函数方法 v-on:parent-event='emitevent($event,Parentparames...)'
    父组件接受参数方法 emitevent(childparam,Parentparames...)
    注:该方法只能接受的第一个参数childparam为子组件传递的参数,传递多个也只能接受到一个.父组件参数按传递的参数位置传递.

    子组件传出多个参数时
    子组件传递参数 this.$emit('parent-event',childparams...)
    父组件传递函数方法 v-on:parent-event='emitevent(arguments,Parentparames...)'
    父组件接受参数方法 emitevent(arguments,Parentparames...)
    注:该方法接受的子组件传递来的参数以arguments数组的形式访问.父组件参数按传递的参数位置传递.

    事件名

    不同于组件和 prop,事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。举个例子,如果触发一个 camelCase 名字的事件:

    this.$emit('myEvent')
    

    则监听这个名字的 kebab-case 版本是不会有任何效果的:

    <!-- 没有效果 -->
    <my-component v-on:my-event="doSomething"></my-component>
    

    不同于组件和 prop,事件名不会被用作一个 JavaScript 变量名或 property 名,所以就没有理由使用 camelCase 或 PascalCase 了。并且 v-on 事件监听器在 DOM 模板中会被自动转换为全小写 (因为 HTML 是大小写不敏感的),所以 v-on:myEvent 将会变成 v-on:myevent——导致 myEvent 不可能被监听到。

    因此,我们推荐你始终使用 kebab-case 的事件名

    简单案列

    /* **
    *   父组件
    *   Parentparameters    父组件传递的参数
    *   emitevent           父组件中定义的方法
    *   parent-event        父组件传递给子组件的事件
    *  
    ** */
    <my-component v-on:parent-event='emitevent($event,Parentparames)'></my-component>
    
    /* **
    *   父组件
    *   Parentparameters    父组件传递的参数
    *   emitevent           父组件中定义的方法
    *   parent-event        父组件传递给子组件的事件
    *  
    ** */
    <my-component v-on:parent-event='emitevent(arguments,Parentparame1,Parentparame2)'></my-component>
    
    /* **
    *   子组件
    *	Parentparameters    父组件传递的参数
    *	emitevent           父组件中定义的方法
    *   parent-event        父组件传递给子组件的事件
    *   
    ** */
    this.$emit('parent-event',childparam1,childparam2)
    
    /* **
    *   父组件接受参数方法
    *   Parentparameters    父组件传递的参数
    *   emitevent           父组件中定义的方法
    *   arguments		    子组件传递参数的类数组对象
    *   parentparam1		父组件传递的第一个参数
    *   parentparam2
    ** */
    emitevent(arguments,parentparam1,parentparam2){
        arguments[0] = childparam1;			//子组件传递的第一个参数
        arguments[1] = childparam2;			//子组件传递的第二个参数
        parentparam1 = Parentparame1;		//父组件传递的第一个参数
        parentparam2 = Parentparame2;		//父组件传递的第二个参数
    }
    
  • 相关阅读:
    Vue2.x源码学习笔记-Vue构造函数
    微服务从设计到部署(七)重构单体为微服务
    微服务从设计到部署(六)选择部署策略
    Spring REST API + OAuth2 + AngularJS
    微服务从设计到部署(五)事件驱动数据管理
    REST:JAX-RS 与 Spring
    微服务从设计到部署(四)服务发现
    了解 Spring Boot AutoConfiguration
    微服务从设计到部署(三)进程间通信
    微服务从设计到部署(二)使用 API 网关
  • 原文地址:https://www.cnblogs.com/Scooby/p/14775547.html
Copyright © 2011-2022 走看看