如何在ionic2-angular2中动态切换菜单的一侧?

时间:2017-05-10 15:07:08

标签: angular ionic2 ionic3

我在课堂上使用带有sideMenu = left或right的离子菜单,当我们更改语言时它会改变。 sideMenu变量变化,但我不知道为什么侧边菜单没有。

<ion-menu [content]="mifonMenu"
          [side]="sideMenu"
          >

我还尝试了另一种语法:[attr.side]="isRtl?'right':'left'"

它开始了,但是当我将侧面菜单更改为右边时:我打开菜单:它从左边开始到右边,当我关闭它时:它反过来。 但是,如果我添加type="push",它就不起作用。

希望有人能帮助我。

1 个答案:

答案 0 :(得分:1)

尚不支持动态切换侧边菜单(有一些与之相关的未解决的问题),但您可以通过添加两个侧边菜单来实现相同的效果,一个在右边,一个在左边

<ion-menu [content]="mifonMenu" id="left-menu" side="left">...</ion-menu>

<ion-menu [content]="mifonMenu" id="right-menu" side="right">...</ion-menu>

然后在代码中,根据所选语言启用其中一个:

import { MenuController, ...';

@Component({
    templateUrl: 'app.html'
})
export class MyApp {

    constructor(private menuCtrl: MenuController, ...) {}

    public yourMethod(): void {
        if (this.selectedLanguage.rtl) {
            this.menuCtrl.enable(true, 'right-menu');
            this.menuCtrl.enable(false, 'left-menu');
        } else {
            this.menuCtrl.enable(false, 'right-menu');
            this.menuCtrl.enable(true, 'left-menu');
        }
    }
}