嗨,我正在开发具有英语和阿拉伯语的angularjs SPA应用程序中的Web应用程序。对于RTL和LTR属性,我正在尝试将类添加到app.js中的body html元素,如下所示。
$scope.changeLanguage = function (lang) {
$scope.lang = lang == 'de_AR' ? 'de_AR' : 'de_EN';
var myEl = angular.element(document.querySelector('#body'));
myEl.addClass('rtl');
}
使用上面的代码,我无法添加类。我可以在html(browser)中看到以下代码。
<body ng-controller="RoslpAppController" class="ng-scope">
我可以知道使用Angularjs添加CSS类的正确方法是什么?
最佳答案
以下是ng类中的三元检查
<div ng-class="(lang === 'de_AR') ? 'rtl' : 'ltr'"></div>
这是一种情况下ng类中的多种情况
<div ng-class="{'de_AR':'rtl', 'de_EN':'ltr'}[lang]"></div>
控制器内部的代码
$scope.changeLanguage = function (lang) {
$scope.lang = lang == 'de_AR' ? 'de_AR' : 'de_EN';
var myEl = angular.element(document.querySelector('#body'));
myEl.addClass('rtl');
}