uni-app 重新编译后页面可以停留在原页面

uni-app 重新编译后页面可以停留在原页面,第1张

uni-app 进行小程序开发时,更改了相应的参数后,是需要进行重新编译,才能反馈在页面同中的,然后一旦重新编译的话,默认情况下后跳转到首页,也就是在pages.json中pages数组中的第一项。

对此uni-app是提供了有了condition https://uniapp.dcloud.io/collocation/pages.html#condition ,它是在pages.json中进行手动配置,更在于传入到页面的参数是并不容易拿到的。

因此希望可以通过某种方式可以最终达到,重新编译页面后,页面依旧可以停留在原先的页面,并且数据参数都是要与原来保持一致。

如果我能进行uni-app中的路由拦截,并将拦截到的路由设置在storage中,编译后,再次进入到首页时,使用navigateTo直接跳转到原来的页面,一切便大功造成。

对于uni-app中的路由拦截可以使用官方的拦截器, https://uniapp.dcloud.io/api/interceptor.html#addinterceptor 。 也可以采用重写路由的方式,如下:

问题在于,我们使用的原生的顶部栏,返回上一页,并不能被拦截到。而在微信小程序中,事件onBackPress是不起作用的。

因此这种方式不能很好的解决。 https://uniapp.dcloud.io/tutorial/page.html#lifecycle

基本的思路是在页面或者应用的销毁的销毁的生命周期时将当前页面的信息存储到storage,然后在页面加载时,跳转到原先的页面。

最终很遗憾的是,再次编译时是没有进入到 页面生命周期 onUnLoad中,也没有进入到组件生命周期 beforeDestory中的。

在开发环境中使用定时器,不断将当前页面的值写入到Storage中,编译再次进入时跳转。

通过了这种方式,特别对于层级很深的页面,不需要再编译之后一层层去点到之前的页面了,开发效率被大大提升。

angular页面跳转显示没有权限,解决方案。根据查询相关资料,步骤如下:

1、通过cli工具新建了一个heroes模块,所有工作都将在这个模块中完成。

2、新建了heroes-add、heroes-list、heroes-login、heroes-modify四个页面模块,来实现不同的功能。

3、通过子路由的方式配置了项目的路由信息,以便让项目跑起来。

4、封装一些常用的方法为服务,以便多处使用。

5、添加请求拦截器,为已登录用户每次的请求头添加token。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11954716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存