• 快应用---事件监听与触发


    一、快应用

            1、快应用是基于手机硬件平台的新型应用形态,标准是由主流手机厂商组成的快应用联盟联合制定;

            2、快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台,以平台化的生态模式对个人开发者和企业开发者全品类开放;

            3、快应用具备传统APP完整的应用体验,无需安装,即点即用;

                                   

    二、接下来只是整理了我认为重要的内容(加强记忆),具体内容请看官网;

            1)事件监听与触发

               A)    $on(evtName,fnHandler);

               在当前页面注册监听事件,可监听$emit()、$dispatch()、$broadcast()等触发的自定义事件,不能用于注册组件节点的事件响应;

               例如:

                this.$on('customEvtType',this.customEvtTypeHandler);

                customEvtTypeHandler(evt){

                        console.info(`触发事件:类型${evt.type},参数:${JSON.stringify(evt.detail)}`)

                }

           

               B)  $off(evtName,fnHandler)

               移除事件监听,参数fnHandler为可选,传递仅移除指定的响应函数,不传递则移除此事件的所有监听

               

               C) $emit(evtName,evtDetail)

               触发当前实例监听事件函数,与$on()配合使用;注意:$emit()目前只触发$on 所监听的事件

               this.$emit('customEvtType',{params:'参数内容'})

          

                D)监听原生组件事件

                原生组件支持一系列事件,如通用事件(如:click,disappear)、组件专有事件(如:focus);

                很多开发者希望能够在事件回调函数中,获取到当前触发事件的组件信息并进行进一步操作,

                 1)在响应函数执行时通过target获取,如:

                     onClickHandler(evt){

                            console.info(`触发事件类型:${evt.type},详情:${JSON.stringify(evt.detail)}`);

                            if(evt.target){

                                   console.info(`触发事件节点:${evt.target.id},${evt.target.attr.disabled}`);

                             }

                     }

                 2)在响应函数绑定时传递参数,如:

                  onClickHandler2(arg1,arg2,evt){

                          console.info(`触发事件类型:${evt.type},参数:${arg1},${arg2}`);

                  }

               E)除了用户手动操作触发事件,响应回调之外,开发者开通在代码中通过$emitElement()完成事件的动态触发;

                 $emitElement(evtName,evtDetail,id)可以触发指定组件id的事件,通过evt.detail获取传递的参数;该方法对自定义组件无效

                  例如:

                    <text onclick="emitElement">触发组件节点中的事件:click</text>

                   emitElement(){

                         this.$emitElement('click',{params:'参数内容'},'eNode');

                  }

                 F)使用原生组件的冒泡功能

                  我们在1040+版本对某些通用事件开放冒泡功能;

                  在未支持冒泡功能之前,开发者仅可以使用target属性指向事件触发的节点;

                  在已支持冒泡功能之后,开发者可以同时使用target与currentTarget,具体的指向与web规范保持一致;前者指向事件目标节点,后者指向事件触发节点;

                  为了兼容已经发布的快应用,以上更新,需要开发者在manifest.json中将minPlatformVersion设置为1040或以上,请开发者注意区别,做好向后兼容;

              

  • 相关阅读:
    Guns项目整体结构
    基于事件的NIO多线程服务器
    Reactor模式和NIO
    ConcurrentHashMap之实现细节
    C 语言的前世今生
    Netty系列之Netty高性能之道
    java synchronized详解
    生产者/消费者模式
    当spring 容器初始化完成后执行某个方法
    Linux系统管理员需要知道的16个服务器监控命令
  • 原文地址:https://www.cnblogs.com/sunqq/p/11202663.html
Copyright © 2020-2023  润新知