Appearance
页面状态管理
ES运行环境根据所需会销毁和重新创建ESRouter堆栈中的页面。
这个时候就需要根据所需在销毁的保存页面状态。 在重新创建页面的时候恢复页面状态。
保存页面状态
ES运行环境在销毁页面之前会调用页面方法onESSaveInstanceState(savedInstanceState)
开发者可以在savedInstanceState对象中保存数据。
调用顺序为onESPause() ==> onESSaveInstanceState(savedInstanceState) ==> onESStop() ==> onESDestroy()
点击查看源码
js
import {ESPageLifecycle} from "@extscreen/es-core";
export default {
mixins: [ESPageLifecycle],
methods: {
onESSaveInstanceState(savedInstanceState) {
if (savedInstanceState) {
let now = new Date().getTime();
savedInstanceState.message = '页面销毁时间:' + now;
savedInstanceState.loginUserName = "张三";
}
},
}
}恢复页面状态
ES运行环境在重新创建页面之前会调用页面方法onESRestoreInstanceState(savedInstanceState)
开发者可以在savedInstanceState获取在页面销毁时保存的数据。
调用顺序为onESStart() ==> onESRestoreInstanceState(savedInstanceState) ==> onESResume()
点击查看源码
js
import {ESPageLifecycle} from "@extscreen/es-core";
export default {
mixins: [ESPageLifecycle],
methods: {
onESRestoreInstanceState(savedInstanceState) {
if (savedInstanceState) {
let message = savedInstanceState.message;
let loginUserName = savedInstanceState.loginUserName;
//do sth else...
}
},
}
}