嗨,我正在开发具有英语和阿拉伯语的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');
}

09-25 17:12
查看更多