我正在创建一个Ionic 2应用程序,其中侧面菜单项将异步加载。侧边菜单中的项目将在每个页面上更改。截至目前,我已经开始了一个带侧边菜单模板的新Ionic 2项目。
我面临的问题是,在侧边菜单中加载项目后,我无法在其他页面中更改这些项目。
我的侧边菜单设计代码位于app.html
文件中,项目列表位于app.component.ts
文件中。加载应用程序时,项目列在侧边菜单中,但当我移动到另一个页面时,我无法更改这些项目。
有没有办法改变它?
答案 0 :(得分:3)
我在其中一个项目中遇到过类似情况,并使用'ionic-angular'中的Events
来实现动态侧边菜单功能。
您可以使用以下命令在app.component.ts
文件的构造函数中订阅事件,例如“UPDATE_SIDE_MENU”:
events.subscribe("UPDATE_SIDE_MENU", (eventData) => {
//Logic to update Side-menu
});
每当您移动到需要更新侧边菜单的其他页面时,您可以使用以下方式在该页面中发布事件(通常在ionViewWillEnter
函数中):
events.publish("UPDATE_SIDE_MENU", "some event related data")
将在您的app.component.ts
文件中收到,您可以在其中实现更新旁边菜单的代码。