如何根据angularjs中的语言变化设置rtl属性?



嗨,我正在开发angularjs应用程序,它是英语和阿拉伯语的多语言应用程序。每当我选择阿拉伯语时,我都想将 rtl 支持应用于 html 标签。 可以正常工作,但我想根据语言选择执行此操作。

下面是我的 html 代码

<div class="language">
<a href="#" ng-click="changeLanguage(lang == 'de_AR' ? 'de_EN' : 'de_AR')">
<img ng-src="images/{{ lang == 'de_AR' ? 'english.png' : 'arabic.png' }}" />
</a>
</div>

下面是我的角度代码

$scope.changeLanguage = function (lang) {
$scope.lang = lang == 'de_AR' ? 'de_AR' : 'de_EN';
$cookieStore.put("PreferredLanguage", $scope.lang);
$translate.use($scope.lang);
}

在上面的代码中,如果选择了语言,那么我想添加否则简单地.我尝试如下。

if($scope.lang="de_AR")
{
$scope.rtl="rtl"
}

下面是我的 html 标签。

<html ng-app="RoslpApp"  dir="{{rtl}}">

上面的代码不提供 rtl 支持。我可以得到一些帮助来解决这个问题吗?我可以知道我在这里错过了什么吗?任何帮助将不胜感激。谢谢。

您可以对$scope.lang进行三元运算,以决定页面应该是 ltr 还是 rtl

<html ng-app="RoslpApp" ng-controller="RoslpAppController"  dir="{{lang=='de_AR'?'rtl':'ltr'}}">

您必须在要触发的控制器范围内定义三元条件。因此,请将ng-controller放在 html 标签上或将目录移动到定义ng-controller的位置

相关内容

最新更新