Javascript 如何将菜单方向更改为rtl ionic2?
爱奥尼亚3.3.0版:Javascript 如何将菜单方向更改为rtl ionic2?,javascript,cordova,angular,ionic2,Javascript,Cordova,Angular,Ionic2,爱奥尼亚3.3.0版: <ion-menu [content]="Menu" [class.rtl]="isRtl" [attr.side]="isRtl?'right':'left'"> </ion-menu> 我根据用户选择的语言更改方向, 它工作正常,除非菜单更改为rtl方向,菜单从左到右打开(如动画),并且仍然从左到右滑动。 请注意,我不想复制我的菜单,一个用于rtl,一个用于ltr,因为它也不适用于新版本3.3.0,
<ion-menu [content]="Menu"
[class.rtl]="isRtl"
[attr.side]="isRtl?'right':'left'">
</ion-menu>
我根据用户选择的语言更改方向,
它工作正常,除非菜单更改为rtl方向,菜单从左到右打开(如动画),并且仍然从左到右滑动。
请注意,我不想复制我的菜单,一个用于rtl,一个用于ltr,因为它也不适用于新版本3.3.0, 我做了两个菜单,一个用于rtl侧(右),另一个用于ltr(左) 我在app.scss文件中添加了以下内容:
[dir="rtl"]{
ion-menu[side=right] > .menu-inner {
right: 0;
direction: ltr;
}
ion-menu[side=right] ion-icon[aria-label^="arrow"]::before, ion-icon[flip-rtl]::before {
-webkit-transform: scaleX(1);
transform: scaleX(1);
margin-left: 8px;
}
}
并将dir属性(rtl ot ltr)从html标记中更改为:当您需要时:
this.platform.setDir('rtl',true);
更新菜单侧后,将menu.\u type设置为null,以便重新计算新平台方向的动画 我也做了两个菜单,一个用于rtl,另一个用于ltr(side=“left”)(side=“right”),但在最新版本3.3.0中,它已损坏,无法工作,我无法返回到旧版本,因为新版本解决了其他问题(如改变方向时翻转图标)哦,好的,我在3.1.2上
this.menu._type = null;