为什么$ app-direction:rtl不工作?

时间:2017-08-01 19:20:38

标签: angular typescript ionic2 ionic3

文档:https://ionicframework.com/docs/theming/rtl-support/

我想知道为什么$app-direction: rtl;中的变量/src/theme/variables.scss无效/无效?

ionic --version
3.6.0

无论有没有,UI都是相同的。

根据文档,他们声明$ app-direction设置在./node_modules/ionic-angular/themes/ionic.globals.scss文件的某处。至少对我来说 - 没有这样的变数......而且据我所知 - 我使用的是最新版本吗?

1 个答案:

答案 0 :(得分:4)

AFAIK,$app-direction: rtl;应该放在variables.scss文件中,变量唯一能做的就是

  

启用对RTL语言的支持

  

这样做的另一个好处是也可以保持生成的CSS更小。

但它不会使您的应用RTL。如果您想更改应用的布局以使其成为RTL,就像您可以看到in the docs

  

我们建议应用的index.html文件已经有正确的目录   属性值集,例如<html dir="ltr"><html dir="rtl">

如果在您的方案中您需要动态更改它,则可以使用setDir(dir, updateDocument)中的Platform方法,如下所示:

private setProperAligment(): void {

    if (this.selectedLanguage.rtl) {
        this.platform.setDir('rtl', true);
        // ...
    } else {
        this.platform.setDir('ltr', true);
        // ...
    }
}