如何将菜单的方向更改为 rtl ionic2?
Posted
技术标签:
【中文标题】如何将菜单的方向更改为 rtl ionic2?【英文标题】:how to change the direction of menu to rtl ionic2? 【发布时间】:2017-05-25 08:26:45 【问题描述】:离子版本 3.3.0:
<ion-menu [content]="Menu"
[class.rtl]="isRtl"
[attr.side]="isRtl?'right':'left'">
</ion-menu>
我根据用户选择的语言改变方向, 它工作正常,除非菜单更改为 rtl 方向,菜单从左到右打开(如动画),并且仍然从左到右滑动。 请注意,我不想复制我的菜单,一个用于 rtl,一个用于 ltr,因为它也不适用于新版本 3.3.0
【问题讨论】:
this.menu._type = null;
一旦你更新了菜单面,设置 menu._type 为 null,这样它就会为新的平台方向重新计算动画。
【讨论】:
【参考方案2】:我通过使用 css 的解决方法解决了它, 我做了两个菜单,一个用于 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;
并从 html 标签更改 dir 属性(rtl ot ltr):当您需要时:
this.platform.setDir('rtl',true);
【讨论】:
以上是关于如何将菜单的方向更改为 rtl ionic2?的主要内容,如果未能解决你的问题,请参考以下文章
在Objective C中点击后退按钮时如何将界面方向从横向更改为纵向