[英]Ionic menu unable to open after navigate to the same page from other page
我有一个页面(称为页面 A)包含 2 个菜单。 左侧菜单过滤 function 菜单是页面内部的组件。 右侧菜单为通用菜单,可在所有页面打开。
这两个菜单在正常流程中都没有问题,例如Home Page -> Page A 。 当我们内部有更多页面堆栈时会发生此问题,例如Home Page -> Page A -> Page B -> Page C -> Page A 。
左侧菜单无法为上面的流程打开。 当我打印出菜单 controller 时,我看到菜单数组由 3 个菜单组成。 第一个菜单是通用菜单,第二个和第三个菜单是具有相同菜单id的过滤菜单。 我怀疑左侧的旧菜单和新菜单重叠 tgt。 如文档所述,一次只能激活一个菜单。 因此,新菜单现在不起作用。 正常流程中的菜单数组 复杂流程中的菜单数组
一旦我再次刷新页面,问题就会消失。
我尝试了几种方法来解决这个问题。 但也失败了。
我试图将下面的代码放在 ionViewWillEnter() 中。 试图禁用旧菜单。 应用代码的菜单数组`
this.menuCtrl.getMenus().then((menu) => { if(menu.length > 2) { 菜单1 .disabled = false 菜单2 .disabled = true } })
`
希望你们能帮我解决这个问题。 感谢你的帮助。 谢谢!
不确定具体情况,但会尽力提供帮助
我有类似的问题,有 2 个独立的模块,每个模块的独立菜单很少。 就像你的情况一样,当我使用绝对 url 时它工作正常,但是当我尝试使用路由从模块 a 导航到 b 然后再回到 a 时,第一个模块的菜单没有显示更多
通过 DOM 我发现在进入模块 b 之后,模块 a 没有从 DOM 中删除(只是显示:无),所以在返回它之后它不再能够正常工作
解决方法是将父级替换为默认路由标签(在我的例子中是角度的)
似乎是 ionic-router-outlet 错误(顺便说一句,大约一年前 ion-nav 也有类似的问题,当它制作带有 display: none 的组件而不是从 DOM 中删除它时,也许这就是 ionic 工具的偶然问题)
更新:我几乎可以肯定 ion-tab 在内部使用 ion-router,所以如果你使用它,也许值得编写你自己的选项卡组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.