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