您好我正在开发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支持。我可以帮忙解决这个问题吗?我可以知道我在这里遗失了什么吗?任何帮助,将不胜感激。谢谢。
答案 0 :(得分:1)
您可以在$scope.lang
上执行三元操作,以确定页面应该是ltr还是rtl
<html ng-app="RoslpApp" ng-controller="RoslpAppController" dir="{{lang=='de_AR'?'rtl':'ltr'}}">
您必须在控制器范围内定义三元条件才能触发。因此,请将您的ng-controller
放在html标记上,或将您的目录移到您定义的地方ng-controller