快應用---事件監聽與觸發


一、快應用

        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或以上,請開發者注意區別,做好向后兼容;

 

          

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM