ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ionic tab页再次进入不会初始化组件调用ngOnInit

2022-05-07 16:00:45  阅读:172  来源: 互联网

标签:调用 渲染 ngOnInit tab ionic 路由 页面


出现场景:

将一个非tab页的路由model定义在了tab的子路由中如下:

 

 当从tab页跳转至该路由下的也页面,页面只会渲染一次(即只会调用ngOnInit一次),此后再次进入该子页都不会再渲染且不会调用ngOnInit事件

后面查阅资料说是在 Ionic 中,tab 渲染成功后,只要应用不重启,tab 就不会销毁,ngOnInit() 就不会重新运行,

对应的猜想在tab路由中定义的子路由页面也只会渲染一次

解决方法:

方式一:

如果仅仅只是需要每次进入页面调用一些方法处理,不涉及初始化组件的操作可以使用ionic的生命周期函数ionViewWillEnter() ,将原来在ngOnInit中的处理挪至该函数中处理即可

注:ionViewWillEnter()可以直接使用,不需要像ngOnInit需要继承使用

 

 方式二:

针对需要初始化页面的情况,可以将该页面的路由声明至其他的tab路由中(取消自身的路由模块),如本次的home或者system的RoutingModule(组件也要声明至对应的module中)都可,视具体的情况而定。

标签:调用,渲染,ngOnInit,tab,ionic,路由,页面
来源: https://www.cnblogs.com/sugarwxx/p/16242855.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有