主page中声明
@Provide(‘appPathStack’) appPathStack: NavPathStack = new NavPathStack();
子组件中声明
@Consume(‘appPathStack’) appPathStack: NavPathStack;
在子组件中发起this.appPathStack.pushPathByName(‘LoginView’,undefined),跳转登录页
登录页执行操作完毕之后想回跳转到主page并且携带参数,也就是@Provide(‘appPathStack’) appPathStack: NavPathStack = new NavPathStack(); 这个navPathStack如何操作才能获取到参数。
Navigation的页面间,通过NavPathInfo对象中的params属性,实现从发起页到目标页的数据传递;通过onPop回调参数,实现处理目标页面的返回。
Step1:构建NavPathInfo对象,输入需要传递给目标页面的参数。
params参数:将需要传递的数据封装起来进行传递。
onPop参数:目标页面触发pop时的返回,在回调中通过PopInfo.info.param获取到返回的对象。
Step2:目标页面获取发起页参数有两种方式:
方式一:目标页在NavDestination的onReady函数中获取传递过来的参数(推荐使用此方式)
方式二:目标页通过“NavPathStack.getParamByIndex(this.pageStack.getAllPathName().length - 1)”获取到发起页传递过来的参数
Step3:目标页通过NavPathStack.pop方法返回起始页,其result参数用来传递需要返回给起始页的对象