Angularjs 在rtl和ltr中自动更改类

Angularjs 在rtl和ltr中自动更改类,angularjs,Angularjs,我正在尝试为我的应用程序添加rtl ltr支持。 问题是:假设有这样的输入: <span class="sp-right"> <label> Number: </label> </span> 编号: 是否可以通过编程方式将所有sp right类更改为sp left 这是一个好主意,在ltr和rtl支持的角度 感谢使用jQuery $(".sp-right").each(function(){ $(th

我正在尝试为我的应用程序添加
rtl ltr
支持。
问题是:假设有这样的输入:

<span class="sp-right">
    <label>
        Number:
    </label>
</span> 

编号:
是否可以通过编程方式将所有
sp right
类更改为
sp left

这是一个好主意,在ltr和rtl支持的角度

感谢使用jQuery

$(".sp-right").each(function(){
    $(this).removeClass("sp-right").addClass("sp-left");
});
上述代码将仅在代码序列中运行一次。将其置于事件侦听功能中,如:

$("button.trigger").click(function(){
    $(".sp-right").each(function(){
        $(this).removeClass("sp-right").addClass("sp-left");
    });
});
当事件触发时,它将运行

或者您可以构建一个指令。我在为你写信

_module.directive("spRight", function () {
    return {
        restrict: 'C',
        link: function (scope, element, attrs) {
            element.removeClass("sp-right").addClass("sp-left");
        }
    };
});
更新:

app.directive("buttonThatTrigger", function () {
    return {
        restrict: 'C',//target all elements with class button-that-trigger
        link: function (scope, element, attrs) {
            element.click(function(){
                $(".sp-right").each(function(){
                    $(this).removeClass("sp-right").addClass("sp-left");
                });
            });
        }
    };
});
然后在按钮中添加一个类:

<button class="button-that-trigger"></button>

还有一种方法。与其更改页面上的多个类(虽然没有那么困难),不如只更改应用程序容器顶层的一个类,然后使用CSS管理所有类

例如:

<span class="sp-direction">
    <label>Number:</label>
</span>
现在,您需要做的就是更改say
body
标记上的
sp right
/
sp left
类:

<body class="sp-{{spClass}}">

“是否可以通过编程方式将所有sp right类更改为sp left”当然可以。“在angular中支持ltr和rtl是否是个好主意”取决于您的应用程序和受众。如果需要的话,那为什么不呢。thx,那么你能告诉我怎样才能做到这一点吗?让我们来吧。老兄,我找到了解决办法@dfsq帮了我很多忙,我得到了一个答案:你怎么看?这两个答案都要求你添加或更改表单元素的属性。如果要立即完成,解决方案将无法工作。您需要存储设置。当步骤更改时,它将运行类修复功能。设置可以存储在服务中。对于步骤更改,然后运行修复函数,您需要找到一个eventlistener,然后将类修复函数设置为Callback。有很多表单和类。所以我在寻找@Aokadaoc说的一些棘手的事情
<body class="sp-{{spClass}}">
$rootScope.spClass = 'left';
$rootScope.spClass = 'right';