应用级事件

事件体系

lighting框架内建了应用级的事件体系,支持自定义应用级事件。

Light.on/Light.bind

Light.on/Light.bind用于绑定一个事件。

Light.on("myEvent",function(){
console.log("my Event");
})
//传入triggerAll:false,不触发历史已绑定的事件处理函数
Light.on("myEvent", {
triggerAll: false
}, function(){
console.log("my Event");
})

Light.off/Light.unbind

Light.off/Light.unbind用于取消绑定一个事件。

Light.unbind("myEvent")

Light.trigger

Light.trigger触发一个自定义事件。

Light.trigger("myEvent")

内置事件

light提供了内置的全局事件,供开发者监听,以在合适的时机触发。

appStarted

appStartedLight.start()成功后触发。

viewappear

viewappear是容器事件,仅在原生运行下有效。

当A视图以打开新容器的方式打开B时,A视图如果监听了viewappear事件,并且B视图关闭重新回到A视图时,此时的A视图的viewappear监听代码会执行。

Light.on("viewappear",function() {
console.log('viewappear事件触发了');
})

Android若开启预加载,预加载的时候该方法就会执行而不是等页面展示才执行。

viewdisappear

viewdisappear是容器事件,仅在原生运行下有效。

当A视图以打开新容器的方式打开B时,B视图如果监听了viewdisappear事件,并且B视图关闭重新回到A视图时,此时的B视图的viewdisappear监听代码会执行。

Light.on("viewdisappear",function() {
console.log('viewdisappear事件触发了');
})

appappear

appappear是容器事件,仅在原生运行下有效。

当app应用从后台回到前台时会触发appappear事件。

Light.on("appappear",function() {
console.log('appappear事件触发了');
})

appdisappear

appdisappear是容器事件,仅在原生运行下有效。

当app应用从前台回到后台时会触发appdisappear事件。

Light.on("appdisappear",function() {
console.log('appdisappear事件触发了');
})

viewback

viewback是容器事件,仅在原生容器中运行的web环境有效,不支持jsn环境

从A视图进入B视图,B视图如果监听了viewback事件并返回了false,原生App的返回功能和设备自带的系统返回功能将会被禁止。

Light.on("viewback",function() {
return false;
})

screenshot

screenshot是容器事件,仅在原生运行下有效。

当APP发生屏幕截图事件时会触发screenshot事件。

Light.on("screenshot",function(data) {
let image = "data:image/png;base64,"+data;// data为截屏图片数据的base64字符串,不带头,需要自行加头data:image/png;base64
})

screencaptured

screencaptured是容器事件,仅在iOS系统原生运行下有效。

当APP开始/停止屏幕录制时会触发screencaptured事件。

Light.on("screencaptured",function(isCaptured) {
console.log('屏幕录制状态变更了');//isCaptured为BOOL类型
})