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...
}
},
}
}